当前位置:   article > 正文

QML之七:布局元素_qml horizoncenter

qml horizoncenter

目录

布局元素


布局元素

QML 使用 anchors(锚)对元素进行布局。anchoring(锚定)是基础元素对象的基本属性,可以被所有的可视化 QML 元素使用。

一个 anchors(锚)就像一个协议,并且比几何变化更加强大。Anchors(锚)是相对关系的表达式,通常需要与其它元素搭配使用。

一个元素有6条锚定线:

  • top (顶)

  • bottom (底)

  • left (左)

  • right (右)

  • horizontalCenter (水平中)

  • verticalCenter (垂直中)

在文本元素中有一条文本的锚定文本基线 baseline

每一条锚定线都有一个偏移 offset 值,在顶,底,左,右的锚定线中它们也被称作边距。对于水平中与垂直中与文本基线中被称作偏移值。

定义组件 GreenSquare

  1. // GreenSquare.qml
  2. import QtQuick 2.0
  3. Rectangle {
  4.   width: 100
  5.   height: 100
  6.   color: "#7FB937"
  7.   border.color: Qt.lighter(color)
  8. }

布局:

  1. // Anchors.qml
  2. import QtQuick 2.2
  3. import QtQuick.Window 2.2
  4. Window{
  5.   height: 600;width: 800
  6.   Grid
  7.   {
  8.       spacing: 10
  9.       rows: 2
  10.       columns: 3
  11.       GreenSquare {
  12.           BlueSquare {
  13.               width: 12
  14.               anchors.fill: parent
  15.               anchors.margins: 8
  16.               Text {
  17.                   anchors.centerIn: parent
  18.                   text: qsTr("(1)")
  19.               }
  20.           }
  21.       }
  22.       GreenSquare {
  23.           BlueSquare {
  24.               width: 48
  25.               y: 8
  26.               anchors.left: parent.left
  27.               anchors.leftMargin: 8
  28.               Text {
  29.                   anchors.centerIn: parent
  30.                   text: qsTr("(2)")
  31.               }
  32.           }
  33.       }
  34.       GreenSquare {
  35.           BlueSquare {
  36.               width: 48
  37.               anchors.left: parent.right
  38.               Text {
  39.                   anchors.centerIn: parent
  40.                   text: qsTr("(3)")
  41.               }
  42.           }
  43.       }
  44.       GreenSquare {
  45.           BlueSquare {
  46.               id: blue1
  47.               width: 48; height: 24
  48.               y: 8
  49.               anchors.horizontalCenter: parent.horizontalCenter
  50.           }
  51.           BlueSquare {
  52.               id: blue2
  53.               width: 72; height: 24
  54.               anchors.top: blue1.bottom
  55.               anchors.topMargin: 4
  56.               anchors.horizontalCenter: blue1.horizontalCenter
  57.               Text {
  58.                   anchors.centerIn: parent
  59.                   text: qsTr("(3)")
  60.               }
  61.           }
  62.       }
  63.       GreenSquare {
  64.           BlueSquare {
  65.               width: 48
  66.               anchors.centerIn: parent
  67.               Text {
  68.                   anchors.centerIn: parent
  69.                   text: qsTr("(3)")
  70.               }
  71.           }
  72.       }
  73.       GreenSquare {
  74.           BlueSquare {
  75.               width: 48
  76.               anchors.horizontalCenter: parent.horizontalCenter
  77.               anchors.horizontalCenterOffset: -12
  78.               anchors.verticalCenter: parent.verticalCenter
  79.               Text {
  80.                   anchors.centerIn: parent
  81.                   text: qsTr("(3)")
  82.               }
  83.           }
  84.       }
  85.   }
  86. }

运行:

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

闽ICP备14008679号