Python Qt QListWidget双击

时间:2012-10-13 20:58:18

标签: python qt pyqt pyqt4 signals-slots

我想为我的QListWidget对象添加双击属性。

我的命令行不起作用:

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

如何添加双击属性?如何将对象参数赋予QtCore.SIGNAL。

1 个答案:

答案 0 :(得分:7)

信号连接不起作用的原因是您使用QListWidget.itemDoubleClicked的错误签名。它应该是这样的:

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

但是,我建议你不要使用这种连接信号altogther的方法,而是切换到new-style syntax。这将允许您重写上面的代码:

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

这不仅更简单,更清晰,而且更不容易出错(事实上,如果使用错误的信号名称/签名,将会引发异常)。