From 91f9178220ac4e6877b93889c820fee9ffd3fb5f Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周六, 27 4月 2024 21:42:44 +0800
Subject: [PATCH] update

---
 README.md |   46 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index c7f0d55..9268a82 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@
 |:---------:|:-----------:|:-------------------------:|
 |    Qt     |   \>=5.12   | Core, Gui, Widgets, Quick |
 | Compiler  |  \>=C++17   |   MSVC 2019, GCC, Clang   |
-|   CMake   |   \>=3.17   |   >=3.20 is recommended   |
+|   CMake   |   \>=3.19   |   >=3.20 is recommended   |
 
 ### Tested Compilers
 
@@ -85,7 +85,10 @@
 ### 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"
@@ -104,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
@@ -130,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
 
@@ -237,7 +255,8 @@
         window.visible = true
     }
     WindowAgent {
-      // ...
+        id: windowAgent
+        // ...
     }
 }
 ```
@@ -251,19 +270,32 @@
 + 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
 
 + Fix 5.15 window abnormal behavior
-+ Support Mac system buttons customization for Quick
 + More documentations
 + When do we support Linux native features?
 
 ## Special Thanks
 
-+ [Arabaku](https://github.com/Arabaku)
 + [Maplespe](https://github.com/Maplespe)
 + [zhiyiYo](https://github.com/zhiyiYo)
 
 ## License
 
-QWindowKit is licensed under the Apache 2.0 License.
\ No newline at end of file
+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.**
+
+-->

--
Gitblit v1.9.1