我在pyqt應用程序中有一個QTreeView的自定義子類。我試圖讓用戶能夠突出顯示和「低光照」(缺乏更好的術語)行。突出顯示的行應具有粗體文本和(可選)不同的背景顏色。有任何想法嗎?
我正在考慮StyleSheets作爲一個選項,但到目前爲止一直無法讓它工作。如果我設置了QTreeView則的樣式表:在QTreeView中設置粗體行
self.setStyleSheet("QTreeView::item:selected {border: 1px solid #567dbc;}")
我無法弄清楚如何手動啓用「狀態」,將只保留所需的排在一個特定的狀態。如果我嘗試設置單個項目的樣式表:
#modelIndex is a valid QModelIndex
modelIndex.internalPointer().setStyleSheet()
我收到段錯誤。
我不相信樣式表是要走的路,我願意接受所有想法。謝謝!
無關的最終修復,但我周圍的段錯誤了。我忘記了由qsortfilterproxy返回的內部指針需要轉換爲模型指針。因此: self.model()。sourceModel()。getItem(self.mapToSource(each)) – taynaron 2010-04-27 22:20:01
我決定爲每個項目添加一個QFont變量以跟蹤項目的狀態,然後使用委託繪製所有項目與自定義QFont。謝謝大家! – taynaron 2010-04-27 22:50:15