2010-07-24 2 views
3

좋아, 여기 내 딜레마 야. Qt Creator로 Webkit을 사용하는 간단한 응용 프로그램을 만들고 있습니다. Qt Creator는 신호 및 슬롯 편집기를 사용하여 마우스 오른쪽 버튼으로 컨텍스트 메뉴를 쉽게 편집 할 수 있다고 생각했지만 이것이 사실이 아닌 것으로 입증되었습니다. 웹킷에는 컨텍스트 메뉴와 관련된 클래스가 있지만 Qt Creator를 통해 액세스하는 방법을 알지 못합니다.Qt Creator에서 QtWebKit의 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴를 편집하는 방법은 무엇입니까?

컨텍스트 메뉴의 "새 창에서 링크 열기"부분을 편집하여 링크를 따를 때 내 응용 프로그램을 새 창에서 열어야하지만 이전에 말한 것처럼 생각할 수 없습니다. 소스에서 수정 된 QtWebKit을 컴파일하지 않고 편집하는 방법입니다.

모든 답변이 좋을 것입니다. 차이가 있다면 저는 주로 C#/.NET 개발자이고 jsut는 Qt와 C++로 작업하기 시작했습니다.

답변

2

QWidget :: contextMenuEvent (QContextMenuEvent * 이벤트)는 "가상 보호"기능입니다.
QWebView를 상속 한 다음 "contextMenuEvent"를 재정의 할 수 있습니다.

+0

고마워요, 지금 생각합니다. –

0

"Open in New Window"동작 만 필요한 경우 가상 보호 된 QWebView :: createWindow를 다시 구현하는 것이 좋습니다. contextMenuEvent를 처음부터 다시 구현하는 것은 createWandow에 "새 창에서 열기"를 지시하는 createStandardContextMenu를 사용하지 않으면 복잡 할 수 있습니다.

관련 문제