我不知道您使用的是哪个版本的 QML,但如果您可以使用 QtQuick 2,那么您将ApplicationWindow
在 QML 中设置为您的顶级项目,如下所示:
import QtQuick 2.0
ApplicationWindow {
id: appWnd
minimumWidth: 300
minimumHeight: 300
}
您还可以查看每个特定 QML 类型的implicitWidth
属性implicitHeight
,并将appWnd
minimumWidth/Height 设置为包含布局的implicitWidth/Height。例如:
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
,如文档中所述。