Tableview中的ComboBox

时间:2016-11-21 11:52:56

标签: qt qml qtquick2

我在QML tableview中组合了一个ComboBox,如下所示:

TableView {
    id: reviewTable
    frameVisible: false
    sortIndicatorVisible: true
    width: parent.width; height: parent.height
    anchors.centerIn: parent

    TableViewColumn {
        resizable: true
        role: "SeriesDescription"
        title: "Series Description"
        width: 350
    }

    TableViewColumn {
        resizable: false
        role: "TimePoints"
        title: "Time Points"
        width: 100
    }

    TableViewColumn {
        role: "ImageType"
        title: "Image Type"
        width: 100
        delegate: Rectangle {
            anchors.fill: parent
            //anchors.verticalCenter: parent.verticalCenter
            ComboBox {
                model: ListModel {
                    ListElement {  text: "Veggies" }
                    ListElement {  text: "Fruits" }
                    ListElement {  text: "Cars"  }
                }
            }
        }
    }
}

然而,这会以奇怪的方式呈现组合框,其中边界看起来有点截止。请参阅附带的屏幕截图有谁知道如何解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:2)

这里不是完美的解决方案,但无论如何......你可以通过设置rowDelegate来改变行高,例如:

rowDelegate: Item {
            height: 30
}

所以伸展组合框以填满所有空间:

TableViewColumn {
        role: "ImageType"
        ...
        delegate: Rectangle {
            ComboBox {
                anchors.fill: parent
                anchors.margins: 2
                model: ListModel {
                    ...
                }
            }
        }
    }