[英]QML - TableView - Access TableViewColumn property inside headerDelegate
我在TableView
有自定义headerDelegate
。 我需要访问TableViewColumn
属性,例如headerDelegate
内的resizable
属性。
有什么办法可以在headerDelegate
访问此属性?
是否可以在headerDelegate
内的TableViewColumn
访问用户定义的属性?
例如,我可以创建称为用户定义的属性enableSorting
内TableViewColumn
和访问它里面headerDelegate
为了隐藏或显示sortingIndicator
?
更新
TableView{
TableViewColumn{
property bool sortingEnabled: false
resizable: false
}
headerDelegate: Rectangle {
color: styleData.resizable?"red":"blue"
border.color:styleData.sortingEnabled?"red":"blue"
}
}
在这里, styleData.resizable
和styleData.sortingEnabled
是虚构的。 我想得到类似的东西。
从TableView
的文档中,我们可以使用访问列
getColumn(index)
方法
TableView{
TableViewColumn{
property bool sortingEnabled: false
resizable: false
}
headerDelegate: Rectangle {
color: getColumn(styleData.column).resizable?"red":"blue"
border.color:getColumn(styleData.column).sortingEnabled?"red":"blue"
}
}
您要设置TableView id属性。 您将能够以所需的方式从整个文件范围访问它。
TableView{
id: myTableView
headerDelegate: Rectangle {
color: myTableView.whatever // Change whatever by any property of myTableView
}
}
重要说明:设置委托人ID并以其他方式访问将不起作用,因为在读取qml解释器时无法立即实例化它,而且它可能会针对多个委托项实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.