From 2450f9dedeebbe8efc872eb2ceedd733c33733a5 Mon Sep 17 00:00:00 2001 From: liulinsong Date: Thu, 20 Jun 2024 14:53:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=BB=E5=8A=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=9A=8438px=E7=9A=84y=E8=BD=B4=E5=81=8F=E7=A7=BB?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过Kylin SDK获取的窗口坐标会考虑窗口是否启用了标题栏, 并根据是否存在标题栏返回相应的窗口坐标。可以简单的理解为 窗口坐标指的是不包含标题栏的窗口左上角的坐标。因此,不再 需要表示标题栏高度的38px了。这样的话,可以避免在应用程序 禁用了窗口标题栏后输入窗口偏下的问题 --- qt5/platforminputcontext/qfcitxplatforminputcontext.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qt5/platforminputcontext/qfcitxplatforminputcontext.cpp b/qt5/platforminputcontext/qfcitxplatforminputcontext.cpp index 8364f4b..dc24021 100644 --- a/qt5/platforminputcontext/qfcitxplatforminputcontext.cpp +++ b/qt5/platforminputcontext/qfcitxplatforminputcontext.cpp @@ -601,7 +601,7 @@ void QFcitxPlatformInputContext::cursorRectChanged() { data.rect = r; if (QGuiApplication::platformName().startsWith("wayland") && lastWindowId_.isValid()) { QRect windowGeometry = kdk::WindowManager::windowGeometry(lastWindowId_); - proxy->setCursorRectV2(windowGeometry.x() + r.x(), windowGeometry.y() + r.y() + 38, r.width(), r.height(), scale); + proxy->setCursorRectV2(windowGeometry.x() + r.x(), windowGeometry.y() + r.y(), r.width(), r.height(), scale); } else { proxy->setCursorRectV2(r.x(), r.y(), r.width(), r.height(), scale); } @@ -619,7 +619,7 @@ void QFcitxPlatformInputContext::cursorRectChanged() { data.rect = newRect; if (QGuiApplication::platformName().startsWith("wayland") && lastWindowId_.isValid()) { QRect windowGeometry = kdk::WindowManager::windowGeometry(lastWindowId_); - proxy->setCursorRect(windowGeometry.x() + newRect.x(), windowGeometry.y() + newRect.y() + 38, newRect.width(), + proxy->setCursorRect(windowGeometry.x() + newRect.x(), windowGeometry.y() + newRect.y(), newRect.width(), newRect.height()); } else { proxy->setCursorRect(newRect.x(), newRect.y(), newRect.width(),