我正在用 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();
}
Run Code Online (Sandbox Code Playgroud)
我不知道,您使用的是哪个版本的 QML,但是如果您可以使用 QtQuick 2,那么您可以ApplicationWindow像这样在 QML 中设置为顶级项目:
import QtQuick 2.0
ApplicationWindow {
id: appWnd
minimumWidth: 300
minimumHeight: 300
}
Run Code Online (Sandbox Code Playgroud)
您还可以看看implicitWidth和implicitHeight性能为每个特定的QML类型,并设置appWnd最小宽度/高度是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" }
}
}
Run Code Online (Sandbox Code Playgroud)
这不会让应用程序窗口的缩放比例小于它包含的控件(因为隐式布局的宽度和高度等于所包含项目的隐式宽度和高度的总和)。
您还可以使用 绑定到布局的绝对最小宽度gridLayout.Layout.minimumWidth,如文档中所述。
| 归档时间: |
|
| 查看次数: |
8043 次 |
| 最近记录: |