pyqt 通过单击水平标题发出信号对 qtablewidget 进行排序

问题描述 投票:0回答:1

我有 QTableWiget 的子类。我可以通过单击水平标题对该表进行排序。现在我还想在表排序时发出信号,所以我重载了基类的 sortItems 方法:

def sortItems(self, col, order):
    super(CustomTable, self).sortItems(col, order)  # CustomTable is my subclass
    self.sort_items.emit(col)

之后,我有一个方法来处理 sort_items 信号,例如打印列,但它不起作用,没有打印任何内容。 (我也为子类设置了sortingEnable...)

我也尝试另一种方法。这是horizontalHeader部分点击信号,它有效,但有时窗口没有焦点,点击了水平标题,但表格没有排序。

所以,我的问题是 QTableWidget 在排序时是否调用 sortItems?如何解决这个问题,使发出 sort_items 信号起作用?

感谢您的帮助,并对我的英语不好感到抱歉。

python sorting pyqt signals-slots qtablewidget
1个回答
1
投票

(1) 不,无论如何它都没有帮助 -

sortItems
不是虚拟的,所以覆盖它不会有任何效果。

(2) 您可以尝试连接水平标题的 sortIndicatorChanged 信号。

© www.soinside.com 2019 - 2024. All rights reserved.