QML:在ListView中设置行宽

时间:2018-03-29 09:16:10

标签: qt layout qml row

我在布局中有一个带有ListView的页面。 ListView由几行表示,其中包含Rectangles和RowLayout。 RowLayout本身由Text元素组成。我面临的问题是我无法正确设置这些Text元素的宽度。例如。我希望第一个Text元素的整行宽度为1/3。我现在设置它的方式使Text元素宽度为行宽的cca 3/4,至少在视觉上它看起来像那样。设置Text元素宽度的正确方法是什么?

Item {
  ColumnLayout {
    anchors.fill: parent

    // some components here ...

    Rectangle {
      width: parent.width
      Layout.fillWidth: true
      Layout.fillWidth: true

      Rectangle {
        anchors.fill: parent
        anchors.margins: 0.1 * parent.height

        ListView {
          id: listView
          anchors.fill: parent

          model: SomeModel {}

          delegate: Rectangle {
            height: 40
            width: listView.width

            RowLayout {
              width: listView.width

              Text {
                Layout.preferredWidth: 0.3 * listView.width
                text: "text1"
              }
              Text {
                text: "text2"
              }
              // some other Text elements ...
            }
          }
        }
      }
    }
  }
}

0 个答案:

没有答案