我有一个QTableWidget
第一列填充了可检查的项目,所以我需要重载这些项目才能对它们进行排序。当我单击该列的标题时,排序按预期工作(行已排序 - 首先有选中的行,然后未选中)。
当我运行我的 GUI 并且不单击任何列的标题对表进行排序然后执行以下操作时,就会出现问题:
tableWidget.setSortingEnabled(0);
// check/uncheck some checkable items here
tableWidget.setSortingEnabled(1);
在那种情况下,覆盖__lt__
被调用了 100 多次,但我没想到会这样,因为我没有单击该列的标题进行排序。那么,为什么__lt__
叫呢?为什么即使我没有单击该列的标题对它们进行排序,它也会比较一些可检查的项目?
请帮助我,__lt__
当我有 30 多行时,调用会消耗太多时间。