1

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

class DictionaryTable(QtGui.QTableWidget):

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

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

1 回答 1

4

查看文档,我看到:

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

当由行和列指定的单元格被激活时会发出此信号 此功能是在 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 
于 2012-08-05T14:15:05.973 回答