From b171db2925657748ae816401aa300a13811c445e Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周六, 13 4月 2024 19:25:09 +0800 Subject: [PATCH] update qmsetup --- README.md | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d78a02c..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,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 -- Gitblit v1.9.1