1

我正在尝试为QtWebkit开发插件。但是我找不到如何为 QtWebKit 开发一个插件,希望它可以被 JavaScript 调用。有谁知道解释如何做到这一点的任何教程或文档?

Webkit 已集成到 Qt 中,这个集成包称为 QtWebkit。他们为插件创建提供了新的方法。

-问候,维韦克·古普塔

4

4 回答 4

4

简单的答案是编写一个子类QWebPage并将其设置在您的webview. 然后你可以展示你自己的 HTML 页面,并在createPlugin方法中对合适的对象标签做出反应;

protected:
   QObject* createPlugin(const QString &classid, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues)
   {
      if (classid=="lineedit") {
         QLineEdit *lineedit = new QLineEdit;
         return lineedit;
      }
      return 0;
}

并显示类似于以下 HTML 的内容;

<object type="application/x-qt-plugin" classid="lineedit" id="lineedit">
can't load plugin
</object>

请记住,您需要打开插件,如果您想在QWebSettings

要拥有更高级的功能,您应该使用QWebPluginFactory

于 2009-01-07T12:38:33.170 回答
1

实际上,Webkit 已经集成到 Qt 中,这个集成包称为 QtWebkit。他们为插件创建提供了新方法。我只需要一个链接或步骤来在 QtWebkit 中创建一个插件,并且该插件应该由 java 脚本调用。

问候维韦克古普塔

于 2008-12-08T10:16:38.977 回答
0

要将对象公开给 Javascript,请使用

this->mainFrame()->addToJavaScriptWindowObject("lineedit", this);

lineedit可用于从 javascript 访问对象的名称在哪里

Qt 属性将作为 JavaScript 属性公开,插槽作为 JavaScript 方法公开。(见http://doc.qt.io/archives/qt-4.7/qwebframe.html#addToJavaScriptWindowObject

于 2011-11-05T13:21:09.567 回答
0

WebKit插件编程专题介绍是针对WebKit的,QtWebKit有那么特别吗?

于 2008-11-29T04:09:14.793 回答