는 내가 탭을 클릭 할 때마다 상황에 맞는 메뉴를 표시해야하며 특정 탭에 반응 할 필요가있다. 하위 클래스를 지정하지 않고이 작업을 수행 할 수있는 방법이 있습니까?QTabWidget 탭 컨텍스트 메뉴
6
A
답변
5
쉬운 방법으로, 그러나 가능하지 정확하게 당신이 필요 : 신호에 연결되어있는 슬롯에서 당신의 QTabWidget
- 연결하는 QMenu를을 만들고 채 웁니다 마지막 필요에 따라, 상기 신호에 접속되고, 슬롯, QMenu를 :: 간부 (QCursor : POS를())
이 것이다 탭이 변경 될 때마다 호출하는 기능을 얻을 수 (없는 nece 호출 클릭)하고 현재 마우스 위치에 메뉴가 나타납니다. 당신의 QTabWidget에
- 전화 QObject::installEventFilter를, 당신의 QTabWidget의 모든 이벤트가 자신의 개체로 리디렉션되도록 : 정확히 무엇을 설명하지
복잡한 방법. 자신의 개체에서
- , QObject::customEvent 다시 구현하고 모든 QMouseEvent 이벤트를 처리합니다. 는 필요에 따라 QMenu를 채우기 당신이 취급하고있는 QMouseEvent의 위치에 QMenu를 :: 간부를 호출한다. 그는 특히 그가 QTabWidget를 서브 클래 싱하지 않고 원하는 것을 달성 할 수있는 방법을 요구하기 때문에
0
난 당신이 QTabWidget에서 상속 자신의 클래스를 생성하고 마우스 오른쪽 버튼을 클릭에 대한 귀하의 상황에 맞는 메뉴를 만들 수있는 기능을 보호 MousePressEvent (QMouseEvent)를 오버라이드 (override) 할 필요가 있다고 생각합니다.
+0
-1. 그는 installEventFilter에 익숙하지 않은 경우 –
+2
, 상속은 쉬운 방법이다. 하지만 먼저 두 번째 솔루션을 사용해 보겠습니다. –
관련 문제
- 1. 컨텍스트 메뉴 표시
- 2. 목록보기에서 안드로이드 컨텍스트 메뉴
- 3. 컨텍스트 메뉴 parent?
- 4. 플래시 컨텍스트 메뉴
- 5. QT의 컨텍스트 메뉴 현지화?
- 6. 정의 컨텍스트 메뉴
- 7. QTreeWidget에서 컨텍스트 메뉴 호출
- 8. iframe의 javascript 컨텍스트 메뉴
- 9. jQuery 컨텍스트 메뉴 등
- 10. 컨텍스트 메뉴 관련 문제
- 11. Android 컨텍스트 메뉴
- 12. rihcfaces 트리의 컨텍스트 메뉴
- 13. 표시 컨텍스트 메뉴 (마커)
- 14. 브라우저의 컨텍스트 메뉴 편집
- 15. Qt QListView - 컨텍스트 메뉴?
- 16. UIImageView에 컨텍스트 메뉴 추가
- 17. 웹킷 컨텍스트 메뉴
- 18. 동적 컨텍스트 메뉴 옵션
- 19. 동적 컨텍스트 메뉴 항목
- 20. 컨텍스트 메뉴 항목
- 21. 컨텍스트 메뉴 - 자바 스크립트
- 22. Internet Explorer 컨텍스트 메뉴 컨텍스트 비트
- 23. QT 스타일 시트 파일의 QTabWidget 탭 텍스트를 나타 냅니까?
- 24. 탭 만들기 메뉴
- 25. 탭 메뉴 문제
- 26. HTML CSS 탭 메뉴
- 27. C# WinForms - TreeView, 컨텍스트 메뉴
- 28. Firefox 컨텍스트 메뉴 항목 아이콘
- 29. jQuery - 컨텍스트 메뉴 - 바인딩 해제
- 30. 활동 사이에서 컨텍스트 메뉴 공유
첫 번째 쉬운 해결책은 그가 원하는대로 작동하지 않습니다. 현재 탭에서 마우스 클릭이 완료되면 컨텍스트 메뉴가 표시되지 않습니다. 유일한 해결책은 두 번째 것 같습니다. –