Qt Quick - Layout
创始人
2024-06-02 17:47:22
0

Layout总结

  • 一、概述
  • 二、简单使用
  • 三、常见的依赖属性
    • 1.alignment
    • 2. margins

一、概述

Layout 本身其实不是参与到布局里面,主要是给GridLayout、RowLayout或ColumnLayout上的项提供附加属性。一个Layout类型的对象被附加到布局的子元素上,以提供关于 Item 的特定于布局的信息。附加对象的属性会影响布局如何安排 Item 。同时每一个不同的布局器支持的 Layout 的属性也不一样的,并不是所有的 像 GridLayout、RowLayout或ColumnLayout都支持所有的布局属性的,有些是有区别的。

例如,如果默认值不理想,可以指定minimumWidth、preferredWidth 和 maximumWidth。
当布局被调整大小时,元素可能会变大或缩小。因此,物品有minimum size, preferred size 和 maximum size。

如果没有显式指定项的最小尺寸,则尺寸设置为0。如果没有显式指定项的最大长度,则设置为Number.POSITIVE_INFINITY。
对于布局,隐含的最小和最大尺寸取决于布局的内容。

fillWidth 和 fillHeight 属性可以是 true 或 false。如果为false,则 Item 的尺寸将固定为其首选尺寸。否则,它将随着布局的调整而在其最小和最大尺寸之间增大或缩小。

注意:不要在布局中绑定 Item 的x、y、width或height属性,因为这将与布局的目标冲突,还可能导致绑定循环。布局引擎使用width和height属性来存储根据最小/首选/最大附加属性计算出的 Item 的当前大小,并且在每次布局 Item 时都会被重写。使用布局。preferredWidth和布局。preferredHeight或implicitWidth和implicitHeight指定元素的首选尺寸。

二、简单使用

Layout 本身不参与,主要是他的这些属性可以被布局里面的元素使用。

一般就是 layout.Layout的属性: 值

就像这个 第一个 Rectangle 里面的 Layout.fillWidth: true;Layout.minimumWidth: 50 都是依赖属性。

import QtQuick 2.14
import QtQuick.Window 2.3
import QtQuick.Layouts 1.3RowLayout {id: layoutanchors.fill: parentspacing: 6Rectangle {color: "#93ba49"Layout.fillWidth: trueLayout.minimumWidth: 50Layout.preferredWidth: 100Layout.maximumWidth: 300Layout.minimumHeight: 150Text {anchors.centerIn: parenttext: parent.width + 'x' + parent.height}}Rectangle {color: "#518e4f"Layout.fillWidth: trueLayout.minimumWidth: 100Layout.preferredWidth: 200Layout.preferredHeight: 100Text {anchors.centerIn: parenttext: parent.width + 'x' + parent.height}}
}

效果图
在这里插入图片描述

三、常见的依赖属性

1.alignment

这个属性允许你指定一个元素在它占据的单元格中的对齐方式。
默认值为0,这意味着它将是Qt.AlignVCenter | Qt.AlignLeft。如果只指定了水平或垂直标志,这些默认值也适用:如果只指定了水平标志,默认的垂直标志是Qt.AlignVCenter,如果只指定了垂直标志,默认的水平标志是Qt.AlignLeft。

  • Qt::AlignLeft
  • Qt::AlignHCenter
  • Qt::AlignRight
  • Qt::AlignTop
  • Qt::AlignVCenter
  • Qt::AlignBottom
  • Qt::AlignBaseline

2. margins

设置项外部的边距为相同的值。项目本身不评估自己的利润率。父母有责任决定是否要设置外边距。
具体来说,外边距仅由ColumnLayout、RowLayout、GridLayout和其他类似布局的容器(如SplitView)计算,其中项目的有效单元格大小将随着外边距的增加而增加。
因此,如果带边距的项是另一项的子项,那么它的位置、大小和隐式大小将保持不变。
将边距和对齐方式结合起来会对齐item,包括它的边距。例如,垂直居中的元素上边界为1,下边界为9,会导致元素在单元格内的有效对齐距离为中心上方4像素。默认值为0。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...