1
我想激活从listWidget一个项目,那就是ChildWidget的一部分,在使用parentWidget事件过滤器。下面是相关parentWidget部分代码:PyQt的:激活QListWidget项目
self.w = ChildWidget()
def eventFilter(self, source, event):
if event.type() in (QtCore.QEvent.MouseButtonPress,
QtCore.QEvent.MouseButtonDblClick):
if event.button() == QtCore.Qt.LeftButton:
self.w.listWidget.itemActivated
和ChildWidget:
self.listWidget.itemActivated.connect(self.klik)
if item.data(Qt.UserRole).toPyObject():
mp3=item.data(Qt.UserRole).toPyObject()
playsnd("/home/pi/Desktop/komunikator/Recenice/pekara/"+mp3)
事件过滤器工作正常,只是
self.w.listWidget.itemActivated
不工作的命令。是否有其他方式激活项目和触发项目激活的信号发送?
好了,可以请你解释什么,应该怎么办?我试过self.w.listWidget.itemActivated.emit(无)。它发送信号,但函数klik没有收到参数“item”。我还去哪里? – speedyTeh 2013-04-28 21:41:02
因为你写了“无”作为参数......把合适的人。 – LtWorf 2013-04-28 22:13:42
我做到了!的行是:self.w.listWidget.itemActivated.emit(self.w.listWidget.currentItem()) – speedyTeh 2013-04-28 23:11:11