3

好吧,这是我的困境。我正在使用使用 Webkit 的 Qt Creator 制作一个简单的应用程序。我认为 Qt Creator 将有一种简单的方法来使用信号和插槽编辑器编辑右键单击上下文菜单,但事实证明这不是真的。我知道 webkit 有与上下文菜单有关的类,但我不知道如何通过 Qt Creator 访问它们。

我需要编辑上下文菜单的“在新窗口中打开链接”部分,以便在点击链接时在新窗口中打开我的应用程序,但正如我之前所说,我想不出一种编辑方法它没有从源代码编译修改过的 QtWebKit,这将是一个痛苦。

任何答案将不胜感激,如果有任何不同,我主要是 C#/.NET 开发人员,我已经开始使用 Qt 和 C++。

4

2 回答 2

2

QWidget::contextMenuEvent( QContextMenuEvent * event ) 是一个“虚拟保护”函数。
你可以继承QWebView,然后重写“contextMenuEvent”。

于 2010-07-25T09:07:59.180 回答
1

如果您只需要处理“在新窗口中打开”操作,我建议重新实现虚拟受保护的 QWebView::createWindow。如果不使用将“在新窗口中打开”引导到 createWindow 的 createStandardContextMenu,从头开始重新实现 contextMenuEvent 可能会很复杂。

于 2012-03-30T01:04:39.827 回答