当前位置:   article > 正文

Roson的Qt之旅 #111 QML布局-ColumnLayout和RowLayout_qml rowlayout

qml rowlayout

1.ColumnLayout(列布局)

GridLayout基本相同,不同的是所有的控件都只能在一列中显示。

导入声明:
import QtQuick.Layouts 1.3


继承自:Item

ColumnLayout中的项目支持这些附加属性:

  • Layout.minimumWidth(最小宽度)
  • Layout.minimumHeight(最小高度)
  • Layout.preferredWidth(首选宽度)
  • Layout.preferredHeight(首选高度)
  • Layout.maximumWidth(最大宽度)
  • Layout.maximumHeight(最大高度)
  • Layout.fillWidth(填充宽度)
  • Layout.fillHeight(填充高度)
  • Layout.alignment(对齐方式)
  • Layout.margins(边距)
  • Layout.leftMargin(左边距)
  • Layout.rightMargin(右边距)
  • Layout.topMargin(上边距)
  • Layout.bottomMargin(下边距)

  1.   ColumnLayout{
  2.       spacing: 2
  3.       Rectangle {
  4.           Layout.alignment: Qt.AlignCenter
  5.           color: "red"
  6.           Layout.preferredWidth: 40
  7.           Layout.preferredHeight: 40
  8.       }
  9.       Rectangle {
  10.           Layout.alignment: Qt.AlignRight
  11.           color: "green"
  12.           Layout.preferredWidth: 40
  13.           Layout.preferredHeight: 70
  14.       }
  15.       Rectangle {
  16.           Layout.alignment: Qt.AlignBottom
  17.           Layout.fillHeight: true
  18.           color: "blue"
  19.           Layout.preferredWidth: 70
  20.           Layout.preferredHeight: 40
  21.       }
  22.   }

 

layoutDirection : enumeration

这个属性持有行的布局方向--它控制项目是从左到右还是从右到左布局。如果指定了Qt.RightToLeft,左对齐的项目将是右对齐的,右对齐的项目将是左对齐的。
可能的值:

  • Qt.LeftToRight (default) - 项目从左到右排列。
  • Qt.RightToLeft - 项目从右到左排列。

这个QML属性在QtQuick.Layouts 1.1中引入。
参见GridLayout::layoutDirection和ColumnLayout::layoutDirection。

spacing : real
此属性持有每个单元格之间的间距。默认值为5。

2.RowLayout(行布局)

与GridLayout基本相同,不同的是所有控件只能显示在一行中。

导入声明:
import QtQuick.Layouts 1.3


继承自:Item


它为开发者提供了便利,因为它提供了一个更简洁的API。
RowLayout中的项目支持这些附加属性:

  • Layout.minimumWidth(最小宽度)
  • Layout.minimumHeight(最小高度)
  • Layout.preferredWidth(首选宽度)
  • Layout.preferredHeight(首选高度)
  • Layout.maximumWidth(最大宽度)
  • Layout.maximumHeight(最大高度)
  • Layout.fillWidth(填充宽度)
  • Layout.fillHeight(填充高度)
  • Layout.alignment(对齐方式)
  • Layout.margins(边距)
  • Layout.leftMargin(左边距)
  • Layout.rightMargin(右边距)
  • Layout.topMargin(上边距)
  • Layout.bottomMargin(下边距)

 

  1. RowLayout {
  2. id: layout
  3. anchors.fill: parent
  4. spacing: 6
  5. Rectangle {
  6. color: 'teal'
  7. Layout.fillWidth: true
  8. Layout.minimumWidth: 50
  9. Layout.preferredWidth: 100
  10. Layout.maximumWidth: 300
  11. Layout.minimumHeight: 150
  12. Text {
  13. anchors.centerIn: parent
  14. text: parent.width + 'x' + parent.height
  15. }
  16. }
  17. Rectangle {
  18. color: 'plum'
  19. Layout.fillWidth: true
  20. Layout.minimumWidth: 100
  21. Layout.preferredWidth: 200
  22. Layout.preferredHeight: 100
  23. Text {
  24. anchors.centerIn: parent
  25. text: parent.width + 'x' + parent.height
  26. }
  27. }
  28. }

 

layoutDirection : enumeration

这个属性持有行的布局方向--它控制项目是从左到右还是从右到左布局。如果指定了Qt.RightToLeft,左对齐的项目将是右对齐的,右对齐的项目将是左对齐的。
可能的值:

  • Qt.LeftToRight (default) - 项目从左到右排列。
  • Qt.RightToLeft - 项目从右到左排列。

这个QML属性在QtQuick.Layouts 1.1中引入。
参见GridLayout::layoutDirection和ColumnLayout::layoutDirection。

spacing : real
此属性持有每个单元格之间的间距。默认值为5。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/334721
推荐阅读
相关标签
  

闽ICP备14008679号