6

QListWidget オブジェクトにダブルクリック属性を追加したいと考えています。

コマンドラインが機能しません:

   self.connect(self.listWidget, QtCore.SIGNAL("itemDoubleClicked(QtGui.QListWidgetItem)"), self.showItem)

ダブルクリック属性を追加するには? オブジェクト パラメータを QtCore.SIGNAL に渡す方法。

4

1 に答える 1

10

シグナル接続が機能しなかった理由は、QListWidget.itemDoubleClickedに間違った署名を使用しているためです。代わりに、次のようになります。

self.connect(self.listWidget,
             QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"),
             self.showItem)

ただし、信号を接続するこの方法を完全に使用することは避け、代わりに新しいスタイルの構文に切り替えることをお勧めします。これにより、上記のコードを次のように書き直すことができます。

self.listWidget.itemDoubleClicked.connect(self.showItem)

これは、より単純でクリーンであるだけでなく、エラーが発生しにくくなります(実際、間違った信号名/署名が使用された場合、例外が発生します)。

于 2012-10-13T21:32:16.450 に答える