我尝试使用PySide2中的QAbstractItemModel设置QTreeView中选定项目的颜色。
所以我现在要尝试的是创建一个上下文菜单,然后有一种方法为选定的项目着色。
def colorize_item(self):
index = self.treeview.selectionModel().currentIndex()
self.model.setData(index, QtGui.QBrush(QtCore.Qt.red), QtCore.Qt.ForegroundRole)
可悲的是,它根本不起作用。我成功地使用了QAbstactItemModel中的data()方法来更改所有项目文本的颜色,但是我需要为TreeView中的特定项目着色。 我还使用Google寻找解决方案,但对我没有任何帮助:(
编辑:我还试图不重写setData()方法,只是为了检查我的重写是否弄乱了东西。
编辑:也许更好的问题是在setData中实现什么以使其工作