是否可以单独定制QML TableView headerDelegate?

时间:2018-05-16 14:23:11

标签: qt qml tableview

在QML TableView中,可以使用headerDelegate自定义标题,但应用的样式适用于所有列。

示例:

headerDelegate: Rectangle {
    height: 20
    color: "red"

    Text {
        text: styleData.value
        color: "#FFF"
        width: parent.width
        height: parent.height
        font.pointSize: 18
        minimumPointSize: 3
        fontSizeMode: Text.Fit
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
    }
}

是否可以单独应用样式? 例如:在第一列背景蓝色和第二列背景红色

还是存在另一种自定义标题的方法吗?

1 个答案:

答案 0 :(得分:2)

特别是TableView可能存在更优雅的方式,但一般来说定制委托的常用方法是使用提供的信息。

对于具有不同颜色的基本用例,您可以拥有它:

headerDelegate: Rectangle {
    color: ["red", "blue"][styleData.column % 2]
}

对于更复杂的事情,您可以使代理人Loader加载不同的sourceComponents,具体取决于您为代理人提供的信息。