[英]PyQt: Activate QListWidget Item
我想使用parentWidget中的事件過濾器從作為ChildWidget一部分的listWidget激活一個項目。 這是相關的parentWidget代碼的一部分:
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
不起作用。 還有其他方法可以激活項目並觸發要發送的項目激活信號嗎?
In [9]: q.itemActivated
Out[9]: <bound signal itemActivated of QListWidget object at 0x1d13560>
您沒有打電話。
但是,讓我們嘗試稱之為。
In [10]: q.itemActivated()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-3602f33f377a> in <module>()
----> 1 q.itemActivated()
TypeError: native Qt signal is not callable
您無法調用它,必須直接調用綁定過程。 要發射信號,必須使用發射。
q.itemActivated.emit(None)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.