2012-10-13 175 views
4

我想爲我的QListWidget對象添加雙擊屬性。Python Qt QListWidget雙擊

我的命令行不起作用:

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

如何添加雙點擊屬性?如何給QtCore.SIGNAL提供對象參數。

回答

7

信號連接無法正常工作的原因是您使用QListWidget.itemDoubleClicked的錯誤簽名。它應該不是這個樣子:

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

不過,我會建議您避免使用altogther連接信號的這種方法,並切換到new-style syntax代替。這將允許你重寫上面的代碼是這樣的:

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

這不僅是簡單和清晰,也更容易出錯(事實上,一個將引發異常,如果錯誤的信號名稱/簽名用來)。