2013-03-19 3 views
1

Qt 애플리케이션에 대한 도움말 웹 페이지를 추가하고 싶습니다. 사용자는 Qt :: WhatsThis "툴팁"을 사용하여 주제 및 웹 페이지 URL에 대한 설명을 얻을 수 있습니다. Qt 디자이너로 WhatsthisTooltips를 편집하고 언어를 indepentend로 지정하십시오.QEventfilter 클래스의 전역 이벤트 캐치

이제 필터링을 위해 "LinkFilter"클래스를 만들고 viewclass에 설치하고 QEvent :: WhatsThisClicked 이벤트에 대해 반응합니다. 이것은 잘 작동합니다.

이제 모든 QEvent :: WhatsThisClicked 내 응용 프로그램에서 잡을 것이다,하지만 정말 모든 대화 /보기/작업/위젯에 설치 지저분 해 보입니다. 거기에 어떤 종류의 전역 eventHandler, 내 "LinkEvent"클래스를 설치할 수 있습니까? 이것을 해결하기위한 멋진 Qt 스타일 방법이 있어야합니다.

는 EventFilter를 설치하기 위해 나는 강하게이 비디오 자습서

답변

2

http://qt-project.org/doc/qt-4.8/qapplication.html#notify

기본적으로 당신이 QApplication를 서브 클래 싱이 함수를 재정의 할 필요가 http://youtu.be/DHgbYxpZkbg을 따랐다. 그런 다음 원하는 이벤트 유형인지 확인하고 그에 따라 행동 할 수 있습니다.

+0

QApplication 클래스의 힌트가 매우 좋았습니다. 나는 easly 응용 프로그램 클래스에서 이벤트를 설치할 수 있습니다. 이제는 "정상적인"행동을 바꾸지 않고 모든 노래를 포착합니다. Q 응용 프로그램 q 응용 (argc, argv); LinkFilter * filter = 새 LinkFilter (this); qApplication.installEventFilter (filter); – norca