From 367a91dfe060b48b7bd075827ee8d9e5cb4924ac Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周一, 25 3月 2024 17:15:14 +0800 Subject: [PATCH] Fix direct winapi call bug --- README.md | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/README.md b/README.md index b47a9a7..7deff56 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,21 @@ ### Qt Widgets Application +#### Initialization + +The following initialization should be done before any widget constructs. + +```cpp +#include <QWKQuick/qwkquickglobal.h> + +int main(int argc, char *argv[]) +{ + QGuiApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings) + + // ... +} +``` + #### Setup Window Agent First, setup `WidgetWindowAgent` for your top `QWidget` instance. (Each window needs its own agent.) @@ -259,7 +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. 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. ++ 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 -- Gitblit v1.9.1