我在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