在QML中连续排列项目?

时间:2013-10-10 18:44:45

标签: c++ qt qml

我可以将“指标”移动到我想要的任何地方,但“按钮”和“DiagValue”我似乎只能移动到不同的行......我需要移动到不同的列或不同的“x”。

enter image description here

Row{
          spacing: table.rowSpacing

          Button {
              width: 60
              //x: 100   //this does NOTHING!
              //y: 159  
              text: tr_NOOP("Help")

              onClicked: {
                  app.dialogs.message.title = trans("Water Status")
                  app.dialogs.message.body = trans("Rate is not met.")
                  app.dialogs.message.show();
              }
          }

          Indicator {
              x: -50
              //y: 159
              ok: false
          }

          DiagValue {
              MeasuredValue {
                  id: lowFlowValueText
                  rawValueUnit: "gpm"
                  unit: "gpm"
                  precision: 1
              }
              label: trans("Water Flow Setting")
              value: lowFlowValueText.text
          }
    }

2 个答案:

答案 0 :(得分:1)

我认为如果你在Row中设置适当的间距并将其水平对齐,它应该看起来像你需要的那样。

Row {
    spacing: table.rowSpacing
    anchors.horizontalCenter: parent.horizontalCenter
    ...
}

当您的元素位于Row内时,您不需要提供x值,Row元素将根据单个子元素的间距和宽度决定x值。

答案 1 :(得分:0)

Row将定义其包含的元素的水平位置和水平范围(大小)。手动尝试覆盖行中元素的xwidth没有意义,实际上它会生成警告。

当然,您可以覆盖Row中的垂直位置。

您的元素必须提供合理的默认大小,并且必须明智地对调整大小做出反应,因此如果不了解如何定义组件(Button,Indicator,DiagValue),就不可能确切地说出问题所在。对于库存控制,它工作正常。