网站艺术设计,京东网站建设流程,久久建筑网如何注销,免费网站建站软件Qt快速布局概述
#【中秋征文】程序人生#xff0c;中秋共享# Qt快速布局是用于在用户界面中排列项目的项目。由于Qt快速布局还可以调整其项目的大小#xff0c;因此它们非常适合可调整大小的用户界面。 开始 可以使用文件中的以下导入语句将 QML 类型导入到应用程序中。.qml…Qt快速布局概述
#【中秋征文】程序人生中秋共享# Qt快速布局是用于在用户界面中排列项目的项目。由于Qt快速布局还可以调整其项目的大小因此它们非常适合可调整大小的用户界面。 开始 可以使用文件中的以下导入语句将 QML 类型导入到应用程序中。.qml import QtQuick.Layouts 1.11 主要特点 一些主要功能是 可以使用属性指定项目数可以使用 和 属性指定。可以使用 、 和属性指定“宽度”可以替换为“高度”以指定与高度类似的约束。可以使用 或 指定 除了上述功能外还添加了以下功能 可以使用 和 属性指定。与 、 和 属性一起使用。可以使用 和 属性跨行或跨列指定。 简单的布局 Window {RowLayout {anchors.fill: parentspacing: 6Rectangle {color: azureLayout.preferredWidth: 100Layout.preferredHeight: 150}Rectangle {color: plumLayout.fillWidth: trueLayout.fillHeight: true}}
} 由于使用布局的目的是在布局更改大小时重新排列其子项因此应用程序应确保调整布局的大小。在上面的代码片段中通过指定 .但是也可以通过其他方式例如直接指定和属性。在同一代码段中矩形具有固定大小的像素矩形将扩展以占用它分配的所有空间。anchors.fill: parentazure(100, 150)plum 注意 布局负责其子几何图形。因此不应指定 、 、 或任何其他可能影响这些属性的属性如 。否则就会有利益冲突结果是不确定的。如果子项是布局也是如此。因此只有没有父布局的布局才能具有 。anchors.fill: parent 布局中的所有项目之间将有 6 个像素的间距 spacing: 6 大小约束 由于可以通过其布局调整项目的大小因此布局需要知道 或 设置为 的所有项目的大小。例如以下内容将生成一个布局其中两个并排放置且水平延伸的矩形。天蓝色矩形的大小可以从 50x150 调整为 300x150梅花矩形的大小可以从 100x100 调整为 ∞x100。true RowLayout {id: layoutanchors.fill: parentspacing: 6Rectangle {color: azureLayout.fillWidth: trueLayout.minimumWidth: 50Layout.preferredWidth: 100Layout.maximumWidth: 300Layout.minimumHeight: 150Text {anchors.centerIn: parenttext: parent.width x parent.height}}Rectangle {color: plumLayout.fillWidth: trueLayout.minimumWidth: 100Layout.preferredWidth: 200Layout.preferredHeight: 100Text {anchors.centerIn: parenttext: parent.width x parent.height}}
} 组合每个项的约束将为布局元素提供以下隐式约束 最低首选最大隐式约束宽度156306∞ (Number.POSITIVE_INFINITY)隐式约束高度150150150 因此布局不能小于 156也不能高于或小于 150而不会破坏其子项的任何约束。 指定首选大小 对于每个项目有效的首选大小可能来自几个候选属性之一。为了确定有效的首选大小它将按以下顺序查询这些候选属性并使用具有有效宽度或高度的第一个候选属性。 候选属性描述或如果默认隐式大小未提供最佳排列则应用程序应修改这些属性。或这些属性应该由每个项目提供以提供有意义的理想大小例如显示类型的所有内容所需的大小。隐式宽度或高度被解释为无效。0和如果上述属性都无效则布局将采用 和 属性。 项目可以指定而不必指定 。在这种情况下有效首选高度将从 或最终 确定。 注意 诉诸 or 属性仅作为最终回退提供。如果要覆盖首选大小建议使用 或 。依赖 or 属性来指定首选大小可能会产生一些意外行为。例如更改 or 属性不会触发布局重新排列。此外当布局被迫进行完全重建时它可能使用实际宽度和高度而不是 QML 文件中指定的宽度和高度。 连接窗口和布局 您可以只使用普通的锚定概念来确保布局将遵循窗口大小调整。 RowLayout {id: layoutanchors.fill: parent 布局的大小约束可用于确保窗口的大小不能超出布局约束。您可以从布局中获取大小约束并在 Window 元素的最小宽度、最小高度、最大宽度和最大高度上设置这些约束。以下代码确保窗口大小不能超出布局的约束 minimumWidth: layout.Layout.minimumWidth
minimumHeight: layout.Layout.minimumHeight
maximumWidth: 1000
maximumHeight: layout.Layout.maximumHeight 注意 由于布局。在这种情况下Layout.maximumWidth 是无限的我们不能将其绑定到 Window 的 maximumWidth 属性因为这是一个整数。因此我们将固定的最大宽度设置为 1000。 最后您通常希望窗口的初始大小为布局的隐式大小 width: layout.implicitWidth
height: layout.implicitHeight