| | |
| | | ### Build & Install |
| | | |
| | | ```sh |
| | | cmake -B build \ |
| | | git clone --recursive https://github.com/stdware/qwindowkit |
| | | cd qwindowkit |
| | | |
| | | cmake -B build -S . \ |
| | | -Dqmsetup_DIR=<dir> \ # Optional |
| | | -DCMAKE_INSTALL_PREFIX=/path/install \ |
| | | -G "Ninja Multi-Config" |
| | |
| | | #### CMake Project |
| | | |
| | | ```sh |
| | | cmake -B build -DQWindowKit_DIR=/path/install/cmake/QWindowKit |
| | | cmake -B build -DQWindowKit_DIR=/path/install/lib/cmake/QWindowKit |
| | | ``` |
| | | |
| | | ```cmake |
| | |
| | | ## Quick Start |
| | | |
| | | ### Qt Widgets Application |
| | | |
| | | #### Initialization |
| | | |
| | | The following initialization should be done before any widget constructs. |
| | | |
| | | ```cpp |
| | | #include <QtWidgets/QApplication> |
| | | |
| | | int main(int argc, char *argv[]) |
| | | { |
| | | QGuiApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings) |
| | | |
| | | // ... |
| | | } |
| | | ``` |
| | | |
| | | #### Setup Window Agent |
| | | |
| | |
| | | window.visible = true |
| | | } |
| | | WindowAgent { |
| | | // ... |
| | | id: windowAgent |
| | | // ... |
| | | } |
| | | } |
| | | ``` |
| | |
| | | |
| | | + QWindowKit Internals [TODO] |
| | | + [FramelessHelper Related](docs/framelesshelper-related.md) |
| | | |
| | | |
| | | ### Vulnerabilities |
| | | |
| | | + Once you have made the window frameless, it will not be able to switch back to the system border. |
| | | + There must not be any internal child widget with `Qt::WA_NativeWindow` property enabled, otherwise the native features and display may be abnormal. Therefore, do not set any widget that has called `QWidget::winId()` or `QWidget::setAttribute(Qt::WA_NativeWindow)` as a descendant of a frameless window. |
| | | + If you really need to move widgets between different windows, make sure that the widget is not a top-level window and wrap it with a frameless container. |
| | | |
| | | ## TODO |
| | | |
| | |
| | | |
| | | ## License |
| | | |
| | | QWindowKit is licensed under the Apache 2.0 License. |
| | | QWindowKit is licensed under the [Apache 2.0 License](./LICENSE). |
| | | |
| | | <!-- |
| | | |
| | | **You MUST keep a copyright notice of QWindowKit in a prominent place on your project, such as the README document and the About Dialog.** |
| | | |
| | | **You MUST NOT remove the license text from the header files and source files of QWindowKit.** |
| | | |
| | | --> |