From 9dcea027f16c4ce5852da3dfc8aca284c582bd7d Mon Sep 17 00:00:00 2001 From: sola.lu <sola.lu.greentest.com.cn> Date: 周五, 06 6月 2025 18:19:18 +0800 Subject: [PATCH] 1.注释掉custom margin,解决程序放大后,遮盖窗口底部内容的问题。 --- src/core/contexts/qtwindowcontext.cpp | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core/contexts/qtwindowcontext.cpp b/src/core/contexts/qtwindowcontext.cpp index 8b25c04..a476211 100644 --- a/src/core/contexts/qtwindowcontext.cpp +++ b/src/core/contexts/qtwindowcontext.cpp @@ -1,4 +1,5 @@ -// Copyright (C) 2023-2024 Stdware Collections +// 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 "qtwindowcontext_p.h" @@ -120,7 +121,7 @@ auto window = m_context->window(); auto delegate = m_context->delegate(); auto me = static_cast<const QMouseEvent *>(event); - bool fixedSize = delegate->isHostSizeFixed(host); + bool fixedSize = m_context->isHostSizeFixed(); QPoint scenePos = getMouseEventScenePos(me); QPoint globalPos = getMouseEventGlobalPos(me); @@ -218,8 +219,10 @@ case QEvent::MouseButtonDblClick: { if (me->button() == Qt::LeftButton && inTitleBar && !fixedSize) { + Qt::WindowFlags windowFlags = delegate->getWindowFlags(host); Qt::WindowStates windowState = delegate->getWindowState(host); - if (!(windowState & Qt::WindowFullScreen)) { + if ((windowFlags & Qt::WindowMaximizeButtonHint) && + !(windowState & Qt::WindowFullScreen)) { if (windowState & Qt::WindowMaximized) { delegate->setWindowState(host, windowState & ~Qt::WindowMaximized); } else { @@ -252,7 +255,7 @@ AbstractWindowContext::virtual_hook(id, data); } - void QtWindowContext::winIdChanged() { + void QtWindowContext::winIdChanged(WId winId, WId oldWinId) { if (!m_windowHandle) { m_delegate->setWindowFlags(m_host, m_delegate->getWindowFlags(m_host) & ~Qt::FramelessWindowHint); -- Gitblit v1.9.1