2010-07-24 115 views
3

好的,這是我的dillema。我正在使用使用Webkit的Qt Creator進行簡單的應用程序。我認爲Qt Creator可以通過信號和插槽編輯器輕鬆編輯右鍵單擊上下文菜單,但事實證明這不是事實。我知道webkit有與上下文菜單有關的類,但我不知道如何通過Qt Creator訪問它們。如何在Qt Creator中編輯QtWebKit的右鍵單擊上下文菜單?

我需要編輯上下文菜單中的「在新窗口中打開鏈接」部分,以便在遵循鏈接時在新窗口中打開我的應用程序,但正如我之前所說的,我無法想到一種編輯方式,無需從源代碼編譯修改過的QtWebKit,這將是一個痛苦。

任何答案,將不勝感激,如果這有什麼差別,我主要是C#/。NET開發人員,我僅僅指剛開始使用Qt和C++的工作。

回答

2

QWidget :: contextMenuEvent(QContextMenuEvent * event)是一個「虛擬保護」功能。
您可以繼承QWebView,然後重寫「contextMenuEvent」。

+0

謝謝,我想我現在已經明白了。 – 2010-07-25 16:07:57

0

如果您需要的僅僅是處理「在新窗口中打開」操作,我建議重新實現虛擬保護的QWebView :: createWindow。如果不使用createStandardContextMenu,它將「在新窗口中打開」指向createWindow,從頭開始重新實現contextMenuEvent可能很複雜。

相關問題