0
我是PyQt的新手,並且在設置信號/插槽時遇到問題。PyQt5 - 無法在子類中捕獲mousePressEvent
我有QTreeView
插件,其親本是QTabWidget
其本身是QWidget
,其節點是一個自定義的對象,Node
,它從QWidget
繼承內部。
我想要啓用點擊節點,通過信號/插槽來觸發伴隨的QTableView
模型數據的變化。
初始化函數和重寫mousePressEvent()
在Node
如下所示:在樹的Node
項目,當點擊
class Node(QtWidgets.QWidget):
def __init__(self, name, parent=None):
super(Node, self).__init__(parent)
self._name = name
self._children = []
self._parent = parent
if parent is not None:
parent.addChild(self)
trigger = QtCore.pyqtSignal(int, int)
def mousePressEvent(self, event):
event.accept()
print("Node clicked!")
self.trigger.emit() # this would have variables...
鼠標事件沒有被捕獲。
我確定這是與我如何設置小部件和/或mousePressEvent()
工作方式有關,但我一直試圖解決這一整天沒有喜悅。