当列排序时,如何在QItemSelectionModel中保留行选择?

时间:2011-12-05 16:41:59

标签: python pyqt

我使用QItemSelectionModel和QTableView来允许用户选择行。问题是,当用户单击列标题对行进行排序时,选择将消失,并显示所有排序的数据。如何保留选择,只是排序,而不是显示所有行?

谢谢! --Erin

1 个答案:

答案 0 :(得分:0)

以下是我最终解决此问题的方法:

  • 进行行选择时,将每个隐藏行的唯一ID放入列表中,然后隐藏所有隐藏的行

  • 使用self.connect(self.myHorizo​​ntalHeader,SIGNAL(“sectionClicked(int)”),self.keepSelectionValues)来捕获 用户单击列标题以对行进行排序时的事件

  • 在self.keepSelectionValue中,浏览每一行,如果唯一ID在隐藏行列表中,则隐藏行

这有效地排序并显示非隐藏行而不显示整个表的所有行。