0
我似乎無法在QTreeWidget中獲得任何鼠標點擊。我試過...什麼能阻止mousePressEvent或事件過濾鼠標點擊事件?
- ...覆蓋mousePressEvent,但它永遠不會運行。甚至沒有記錄消息。
- ...使用事件過濾器。它適用於所有,但鼠標點擊。
- ...使用代表。他們的編輯事件工作正常,但只有當一個項目,這是不夠的
- ...確保一切都被添加到佈局。我使用QTCreator,輸出是使用layout.addWidget()。我還將小部件實例添加到主窗口中的佈局。
我能夠使用的答案,小部件註冊作爲QTreeWidget像這樣的事件過濾器:
# In __init___
# self.tree is the QTreeWidget
self.tree.viewport().installEventFilter(self)
def eventFilter(self, target, event):
"""
This widget is an event filter for the tree, so this function is triggered
automatically
"""
# Print on right-click
if (event.type() == QEvent.MouseButtonPress and
event.button() == Qt.RightButton):
print("Right Click")
# Don't block/accept the event
return False
你能顯示一些代碼嗎? – Junuxx