6

I want to add double clicked attribute for my QListWidget objects.

My command line does not work:

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

How to add double clicked attribute ? How to give object parameter to 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 回答