QListWidget オブジェクトにダブルクリック属性を追加したいと考えています。
コマンドラインが機能しません:
self.connect(self.listWidget, QtCore.SIGNAL("itemDoubleClicked(QtGui.QListWidgetItem)"), self.showItem)
ダブルクリック属性を追加するには? オブジェクト パラメータを QtCore.SIGNAL に渡す方法。
QListWidget オブジェクトにダブルクリック属性を追加したいと考えています。
コマンドラインが機能しません:
self.connect(self.listWidget, QtCore.SIGNAL("itemDoubleClicked(QtGui.QListWidgetItem)"), self.showItem)
ダブルクリック属性を追加するには? オブジェクト パラメータを QtCore.SIGNAL に渡す方法。
シグナル接続が機能しなかった理由は、QListWidget.itemDoubleClickedに間違った署名を使用しているためです。代わりに、次のようになります。
self.connect(self.listWidget,
QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"),
self.showItem)
ただし、信号を接続するこの方法を完全に使用することは避け、代わりに新しいスタイルの構文に切り替えることをお勧めします。これにより、上記のコードを次のように書き直すことができます。
self.listWidget.itemDoubleClicked.connect(self.showItem)
これは、より単純でクリーンであるだけでなく、エラーが発生しにくくなります(実際、間違った信号名/署名が使用された場合、例外が発生します)。