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