我在QTreeWidget中有一个QTreeWidgetItems(带子节点)的列表。我没有为我的数据使用模型。
在我的应用程序的另一个窗口中,用户可以通过相同的数据集导航(以不同方式查看),第一个窗口中的QTreeWidget然后通过设置背景颜色突出显示该特定行。
但是,当QTreeWidget在某些列具有相同值的列上排序时,未定义哪个项目是第一个。当我然后使用其他窗口导航并设置项目的背景颜色时,相等的项目会自动交换到视图中。这看起来很奇怪。
我怀疑这是由于QTreeWidget的排序算法,但有没有人知道可能的解决方法?
答案 0 :(得分:1)
您是否使用QItemSelectionModel
执行此操作,还是自己编写?
QItemSelectionModel
。QTreeWidget
,如果你这样做,你也可以只使用QTreeView
和一个自定义QAbstractItemModel
。另外,如果你有两个相同数据的视图,我强烈建议使用Model/View框架和QTreeView
。