QTableWidget.cellActivated()信号不起作用?

时间:2012-08-05 12:06:57

标签: qt4 signals pyqt4 qtablewidget

我尝试使用PyQt4重新实现QTableWidget.cellActivated(行,数字),以捕获当前活动单元格的坐标。下面的示例无法按预期工作,单击单元格时不会激活该方法。我做错了什么?

class DictionaryTable(QtGui.QTableWidget):

    def __init__(self, parent=None):
        QtGui.QTableWidget.__init__(self, parent)

    def cellActivated(self, row, column):
        print row, column 

1 个答案:

答案 0 :(得分:3)

查看docs,我看到了:

  

void QTableWidget :: cellActivated(int row,int column)[signal]

     

此   当行和列指定的单元格已经发出时,将发出信号   激活此功能在Qt 4.1中引入。

这是一个信号,而不是一个事件。所以你不需要[重新]实现cellActivated方法(它不是方法,它是信号类型的类属性)。您需要连接信号:

class DictionaryTable(QtGui.QTableWidget):

    def __init__(self, language_code, parent=None):
        QtGui.QTableWidget.__init__(self, parent)
        self.cellActivated.connect(self.handleCellActivated)

    def handleCellActivated(self, row, column):
        print row, column