0
QTreeWidget에서 마우스 클릭이 발생하지 않는 것 같습니다. 나는 시도했다 ...mousePressEvent 또는 Event Filter Mouse Click Events를 차단할 수있는 항목은 무엇입니까?
- ... overriding mousePressEvent, 그러나 결코 전혀 실행되지 않는다. 심지어 메시지를 기록하지 않습니다.
- ... 이벤트 파일러 사용. 마우스 클릭을 제외한 모든 작업에 사용할 수 있습니다.
- ... 대리인을 사용 중입니다. 에디터 이벤트는 정상적으로 작동하지만 항목이 충분하지 않을 때만 해당합니다.
- ... 모든 것이 레이아웃에 추가되도록합니다. 나는 QTCreator를 사용했고 출력물은 layout.addWidget()을 사용했다. 또한 위젯 인스턴스를 기본 창의 레이아웃에 추가하고 있습니다.
는 그래서 같은 QTreeWidget에 대한 이벤트 필터로 위젯을 등록 할 대답을 사용할 수 있었다 : 당신이 QTreeWidget
에 표시 (클릭) 할 것은이 viewport()
있어 실제로
# 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