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行、int列)[シグナル]

この信号は、行と列で指定されたセルがアクティブ化されたときに発行されます。この機能はQt4.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 に答える