Python Qt QListWidget双击

问题描述 投票:5回答:1

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

我的命令行不起作用:

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

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

python pyqt pyqt4 signals-slots qlistwidget
1个回答
7
投票

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

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

但是,我建议您避免完全使用这种连接信号的方法,而改用new-style syntax。这将允许您像这样重写上面的代码:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.