首页 文章

在QTreeWidget中稳定排序QTreeWidgetItems?

提问于
浏览
2

我在QTreeWidget中有一个QTreeWidgetItems(带有子项)列表 . 我没有为我的数据使用模型 .

从我的应用程序中的另一个窗口,用户可以通过相同的数据集导航(以不同方式查看),然后第一个窗口中的QTreeWidget通过设置背景颜色突出显示该特定行 .

但是,当QTreeWidget在某些列具有相同值的列上排序时,未定义哪个项是第一个 . 当我然后使用其他窗口导航并设置项目的背景颜色时,相等的项目会自动交换到视图中 . 这看起来很奇怪 .

我怀疑这是由于QTreeWidget的排序算法,但有没有人知道可能的解决方法呢?

1 回答

  • 1

    你使用QItemSelectionModel这样做,还是你自己写的?

    • 如果您自己编写,我建议使用 QItemSelectionModel .

    • 如果你没有,听起来你想要一个自定义排序算法,需要创建派生的 QTreeWidget ,如果你这样做,你可能只需使用QTreeView和自定义QAbstractItemModel .

    此外,如果您有两个相同数据的视图,我强烈建议使用Model/View框架和 QTreeView .

相关问题