【问题标题】:How to edit QtWebKit's right-click context menu in Qt Creator?如何在 Qt Creator 中编辑 QtWebKit 的右键上下文菜单?
【发布时间】:2010-07-24 22:46:04
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ qt webkit qt-creator qtwebkit


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我想我现在明白了。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多