簡體   English   中英

QML-TableView-訪問headerDelegate中的TableViewColumn屬性

[英]QML - TableView - Access TableViewColumn property inside headerDelegate

我在TableView有自定義headerDelegate 我需要訪問TableViewColumn屬性,例如headerDelegate內的resizable屬性。

有什么辦法可以在headerDelegate訪問此屬性?

是否可以在headerDelegate內的TableViewColumn訪問用戶定義的屬性?

例如,我可以創建稱為用戶定義的屬性enableSortingTableViewColumn和訪問它里面headerDelegate為了隱藏或顯示sortingIndicator

更新

TableView{

 TableViewColumn{
    property bool sortingEnabled: false
    resizable: false
}

 headerDelegate: Rectangle {
   color: styleData.resizable?"red":"blue"
   border.color:styleData.sortingEnabled?"red":"blue"
 }

}

在這里, styleData.resizablestyleData.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM