1

私は 10 を持っていQTablewidgetsます。それぞれがQTableWidget異なるデータを表示します。ユーザーが最後にクリックしたテーブルウィジェットの名前を取得したい(セルのいずれか)。

現在、すべてのテーブルをリストに入れてみました:

table1 = QtGui.QTableWidget()
table2 = QtGui.QTableWidget()
...
...
mytablelist = [table1,table2,....]

を使用Signal and Slotsして、これを試しました:

for item in mytablelist:
    self.connect(item,QtCore.SIGNAL("cellClicked()"),self.Identify)

私のIdentify機能は以下の通りです:

def Identify(self):
    sender = self.sender()
    print sender

私が理解している限り、sender()メソッドはQobject信号がどこから来ているかを教えてくれるはずです。

関数から出力が得られないようですIdentify。問題の原因と解決方法を教えてください。

この問題に対するより良いアプローチはありますか?

4

1 に答える 1

0

私は問題を見つけたと思います。cellClicked()それは私が使用した信号の問題でした(理由はわかりません)。

そのため、質問で使用したのでitemSelectionChanged()はなく、シグナルを使用しようとしました。cellClicked()今はうまくいきます。その後、index()メソッドを使用してテーブルリスト内のテーブルの位置を取得しました。

tableindex = mytablelist.index(sender)
于 2013-10-06T09:41:45.373 に答える