是否可以单独自定义 QML TableView headerDelegate?



在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
}
}

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

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

也许有更优雅的方法专门用于TableView,但通常自定义委托的常用方法是使用提供的信息。

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

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

对于更复杂的事情,您可以使委托成为加载不同sourceComponentsLoader,具体取决于您为委托提供的信息。

最新更新