FramelessWindow
FramelessWindow copied to clipboard
A Frameless Window / Title bar written in C++ and built for Qt projects.
FramelessWindow
A frameless window / title bar written in C++ and built for Qt projects.
The design is loosely based on CustomWindow.
However, resizing and other methods are implemented through Qt::WA_Hover or QHoverEvent instead of mouse move related events.
Features
- Minimize
- Maximize and restore
- Close
- Roll up and roll down
- Move support
- Menubar support
- Resizing from all corners
- Resizing from all edges
- Fullscreen mode
- Works on Qt 6 and above
- Edgehit handling(kinda messy)
Style
The frameless window consists of a title bar, central widget and bottom bar, all inheriting QWidget within various layouts(ui).
The look and feel of the window is derived from the "framelesswindow.css" file, mostly pointing towards a dark theme.
Documentation
The frameless window class and its methods have been clearly documented in the "framelesswindow.h" header file with doxygen format. A PDF file is also provided in docs directory.
Examples
An example on handling a QMainWindow/QWidget with menubar is provided in the example folder.
Demo
Here are some videos of frameless window running on several Qt supported systems:
On Windows 11
https://user-images.githubusercontent.com/38321498/154995309-f0ff0885-6d5a-4fdc-990d-221ec35693ac.mp4
On Ubuntu 21.10
https://user-images.githubusercontent.com/38321498/154995843-5521a4db-f02e-4875-8966-198e45a90547.mp4
macOS(not tested yet)
If anyone possibly tested it on mac, open an issue here in the repo with a demo video, providing any insights on issues if faced. Please also include necessary details like version information, etc.