Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QML-TableView-访问headerDelegate内的TableViewColumn属性_Qt_Qml_Tableview - Fatal编程技术网

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解释器读取时未正确实例化,而且它可能会针对多个代理项实例。

请添加一个我添加了一个最小的示例。但它是不可复制的。我找到了答案。它对我来说是非常有用的。