gpt4 book ai didi

qt - 带框架的 QML 窗口最小尺寸

转载 作者:行者123 更新时间:2023-12-04 13:04:12 25 4
gpt4 key购买 nike

我想为我的 QML 窗口设置最小尺寸。但是,如果我在 main.qml 中设置了最小宽度和高度,则窗口的最小尺寸比我设置和预期的要大。
问题是最小尺寸应用于窗口框架内的 View ,并且没有考虑窗口框架和标题大小。

ApplicationWindow {
id: application
minimumWidth: 1024
minimumHeight: 768
visibility: "Maximized"
}


有没有办法在考虑窗口框架的情况下设置应用程序窗口的最小尺寸?

我使用 Qt 5.4。

最佳答案

正如@luke_carter 已经说过的,可以通过调用 QFrame 与其大小相关的函数之一来实现,例如 QFrame::frameGeometry() .它为您提供窗口大小 包括 框架和标题栏。所以你需要的只是调整 QML 窗口大小。我认为最好的方法是使用具有合适功能的单例来做到这一点,例如:

QRect MySingleton::frameSize(QObject *window)
{
QQuickWindow *qw = qobject_cast<QQuickWindow *>(window);
if(qw)
return qw->frameGeometry();
return QRect();
}

在 QML 中:
Window {
id: wnd
visible: true
width: 300
height: 300
Component.onCompleted: {
var rect = MySingleton.frameSize(wnd);
console.log(rect.width + "," + rect.height);
}
}

关于qt - 带框架的 QML 窗口最小尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29275664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com