gpt4 book ai didi

qt - QML 窗口最小宽度

转载 作者:行者123 更新时间:2023-12-04 05:37:08 38 4
gpt4 key购买 nike

我正在使用 QML 和下面的代码创建一个窗口。如何设置窗口的最小宽度,这样我就不能调整小于我定义的值?

Rectangle {
color: red;
width: 300
height: 100
}

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDeclarativeView view;

view.setSource(QUrl::fromLocalFile("QML/main.qml"));
view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
view.show();

return app.exec();
}

最佳答案

我不知道您使用的是哪个版本的 QML,但如果您可以使用 QtQuick 2,那么您可以将 ApplicationWindow 设置为 QML 中的顶级项目,如下所示:

import QtQuick 2.0

ApplicationWindow {
id: appWnd
minimumWidth: 300
minimumHeight: 300
}

您还可以查看每个特定 QML 类型的 implicitWidthimplicitHeight 属性,并将 appWnd minimumWidth/Height 设置为implicitWidth/包含布局的高度。例如:

import QtQuick 2.0
import QtQuick.Layouts 1.0
import QtQuick.Controls 1.0

ApplicationWindow
{
minimumWidth: gridLayout.implicitWidth
minimumHeight: gridLayout.implicitHeight
height: 500
width: 500

color: "gold"

GridLayout {
id: gridLayout
anchors.centerIn: parent
columns: 2

Button {text: "Push me" }
Button {text: "Push me" }
Button {text: "Push me" }
Button {text: "Push me" }
Button {text: "Push me" }
Button {text: "Push me" }
}

}

这不会让应用程序窗口缩放小于它包含的控件(因为隐式布局的宽度和高度等于包含的项目隐式宽度和高度的总和)。

您还可以使用 gridLayout.Layout.minimumWidth 绑定(bind)到布局的绝对最小宽度,如 in the docs 所述.

关于qt - QML 窗口最小宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10845538/

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