QML:TableView动态更改行高

时间:2017-08-14 06:08:05

标签: qt qml row-height

我有一个包含4列的表,其中一列是文本。更改列的宽度时,内部文本的宽度也会更改。在某些情况下,文本的宽度变得相当小,文本开始增加其高度(文本换行)。如何增加此文本所在行的高度?

这是一个带文字的栏目

TableViewColumn {
    id: fullNameColumn
    property int minColWidth: 175
    property int maxColWidth: 500
    role: "fullName"
    title: "ФИО"
    width: 360
    property string imageSource : ""
    onWidthChanged: {
       if (width < minColWidth)
           width = minColWidth
    }

    delegate: Rectangle{
        id: rowCellContentFullName
        color: "transparent"
        Text {
            property int maxColWidth: 400
            id: labelFullName
            objectName: "labelFullName"
            font.pixelSize: 13
            wrapMode: Text.Wrap
            anchors.leftMargin: 38
            anchors.left: parent.left
            horizontalAlignment: styleData.textAlignment
            anchors.verticalCenter: parent.verticalCenter
            visible: parent.visible
            width: parent.width - this.anchors.leftMargin * 2
            text: styleData.value !== undefined ? styleData.value : ""
            color: "#474747"
            renderType: Text.NativeRendering     
    }
}

这是rowDelegate

 property Component rowDelegate: Rectangle {
                id: rowDel
                objectName: "RowDelegate"
                height: parent.parent.children[1].children[2].children[0].children[0].height < 50 ? 50 : parent.parent.children[1].children[2].children[0].children[0].height
                property color selectedColor: styleData.hasActiveFocus ? primaryColor : secondaryColor
                property bool selectionMaskVisible
                property bool selected: false
        }

在rowDelegate Im绑定高度与可怕的表达,但它的工作原理。仅适用于第3列(FullName)。如果我在另一个空格中拖动此列,我的代码就不起作用。

如果没有这个可怕的表达式,我可以在TableView QML中更改行高吗?你知道解决这个问题的方法吗?

0 个答案:

没有答案