Qt QML-TableView-访问headerDelegate内的TableViewColumn属性
我在Qt QML-TableView-访问headerDelegate内的TableViewColumn属性,qt,qml,tableview,Qt,Qml,Tableview,我在TableView中定制了headerDelegate。我需要访问TableViewColumn的属性,例如resizeable属性在headerDelegate中 是否有任何方法可以访问headerDelegate中的此属性 是否可以访问TableViewColumn内部headerDelegate中的用户定义属性 例如,我是否可以在TableViewColumn内部创建一个名为enableSorting的用户定义属性,并在headerDelegate内部访问它,以便隐藏或显示排序指示器
TableView
中定制了headerDelegate
。我需要访问TableViewColumn
的属性,例如resizeable
属性在headerDelegate
中
是否有任何方法可以访问headerDelegate
中的此属性
是否可以访问TableViewColumn
内部headerDelegate
中的用户定义属性
例如,我是否可以在TableViewColumn
内部创建一个名为enableSorting
的用户定义属性,并在headerDelegate
内部访问它,以便隐藏或显示排序指示器
更新
TableView{
TableViewColumn{
property bool sortingEnabled: false
resizable: false
}
headerDelegate: Rectangle {
color: styleData.resizable?"red":"blue"
border.color:styleData.sortingEnabled?"red":"blue"
}
}
这里的
styleData.resizeable
&styleData.sortingEnabled
是虚构的。我想买那样的东西 从表格视图的文档中,访问我们可以使用的列
getColumn(index)
method
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解释器读取时未正确实例化,而且它可能会针对多个代理项实例。请添加一个我添加了一个最小的示例。但它是不可复制的。我找到了答案。它对我来说是非常有用的。