Sine Striker
2024-04-27 91f9178220ac4e6877b93889c820fee9ffd3fb5f
README.md
@@ -107,7 +107,7 @@
#### CMake Project
```sh
cmake -B build -DQWindowKit_DIR=/path/install/cmake/QWindowKit
cmake -B build -DQWindowKit_DIR=/path/install/lib/cmake/QWindowKit
```
```cmake
@@ -133,6 +133,21 @@
## 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
@@ -259,9 +274,8 @@
### 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 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.
+ 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.
    + If you want to show a non-modal dialog as a child of a frameless window, you should call `QGuiApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings)` before the dialog constructs or in the very beginning in the main entry.
## TODO