2010-07-24 59 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可能很复杂。

相关问题