From 9e96ea43436d5ed200c57d6b229cddf9bdf9e55a Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <zhaoyuhang@rankyee.com> Date: 周一, 10 2月 2025 18:06:41 +0800 Subject: [PATCH] make demo a GUI application in CMake --- src/widgets/widgetwindowagent.cpp | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/widgets/widgetwindowagent.cpp b/src/widgets/widgetwindowagent.cpp index e2b6db1..ea6b22c 100644 --- a/src/widgets/widgetwindowagent.cpp +++ b/src/widgets/widgetwindowagent.cpp @@ -1,3 +1,7 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #include "widgetwindowagent.h" #include "widgetwindowagent_p.h" @@ -52,13 +56,19 @@ } w->setAttribute(Qt::WA_DontCreateNativeAncestors); - w->setAttribute(Qt::WA_NativeWindow); + w->setAttribute(Qt::WA_NativeWindow); // Create new window id d->setup(w, new WidgetItemDelegate()); d->hostWidget = w; #if defined(Q_OS_WINDOWS) && QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) d->setupWindows10BorderWorkaround(); +#endif + +#ifdef Q_OS_WINDOWS + if (!windowAttribute(QStringLiteral("windows-system-border-enabled")).toBool()) { + w->setWindowFlag(Qt::FramelessWindowHint); + } #endif return true; } @@ -80,6 +90,9 @@ if (!d->context->setTitleBar(w)) { return; } +#ifdef Q_OS_MAC + setSystemButtonArea(nullptr); +#endif Q_EMIT titleBarChanged(w); } @@ -116,7 +129,7 @@ You're supposed to make sure that the specified widget \a w is a child or descendant of the title bar widget. */ - void WidgetWindowAgent::setHitTestVisible(const QWidget *w, bool visible) { + void WidgetWindowAgent::setHitTestVisible(QWidget *w, bool visible) { Q_D(WidgetWindowAgent); d->context->setHitTestVisible(w, visible); } -- Gitblit v1.9.1