在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]
}
对于更复杂的事情,您可以使委托成为加载不同sourceComponents
的Loader
,具体取决于您为委托提供的信息。