【问题标题】:QTableWidgetItem ESC signal pressed按下 QTableWidgetItem ESC 信号
【发布时间】:2013-12-01 13:09:33
【问题描述】:

我有一个 QThread 更新一个 QTableWidget 列值。当用户双击该列的一行时,QThread 会停止更新值以让用户编辑上次读取的值。

如果用户按下 Enter 则cellChanged(int, int) 信号被发出,我可以继续更新值。但万一 Esc 我没有收到更改信号,我不知道何时重新开始更新新值。

如果我重新实现 QTableView eventfilter 方法来监听 Esc 键,我可以重新开始更新值,但前提是我点击 Esc 键 2次。我第一次离开QTableWidgetItem。可以先听吗?

提前致谢。

【问题讨论】:

    标签: python pyqt pyqt4 qtablewidget


    【解决方案1】:

    您真正想要的是单元格编辑已完成的通知,无论它是如何发生的。

    实现这一点的一种方法是重新实现负责编辑单元格的虚拟方法之一,然后使用它来发出自定义信号:

    class TableWidget(QtGui.QTableWidget):
        editingFinished = QtCore.pyqtSignal()
    
        def closeEditor(self, widget, hint):
            QtGui.QTableWidget.closeEditor(self, widget, hint)
            self.editingFinished.emit()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-27
      • 2019-12-01
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 2016-07-15
      相关资源
      最近更新 更多