QtWebkit用のプラグインを開発しようとしています。しかし、QtWebKitのプラグイン、できればJavaScriptで呼び出すことができるプラグインを開発する方法を見つけることができません。これを行う方法を説明するチュートリアルやドキュメントを知っている人はいますか?
WebkitはQtに統合されており、この統合パッケージはQtWebkitと呼ばれます。彼らはプラグインを作成するための新しい方法を提供しました。
-よろしく、Vivek Gupta
簡単な答えは、 のサブクラスを作成し、QWebPage
これを に設定することwebview
です。次に、独自の HTML ページを表示して、createPlugin
メソッド内の適切なオブジェクト タグに反応できます。
protected:
QObject* createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues)
{
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
実際に Webkit は Qt に統合されており、この統合パッケージは QtWebkit と呼ばれます。また、プラグインを作成するための新しい方法が提供されています。QtWebkit でプラグインを作成するためのリンクまたは手順が必要であり、そのプラグインは Java スクリプトによって呼び出される必要があります。
よろしく Vivek Gupta
オブジェクトを Javascript に公開するには、次を使用します。
this->mainFrame()->addToJavaScriptWindowObject("lineedit", this);
はlineedit
、javascript からオブジェクトにアクセスするために使用できる名前です。
Qt プロパティは JavaScript プロパティとして公開され、スロットは JavaScript メソッドとして公開されます。( http://doc.qt.io/archives/qt-4.7/qwebframe.html#addToJavaScriptWindowObjectを参照)
WebKit プラグイン プログラミング トピックの紹介は WebKitに関するものですが、QtWebKit はそれほど特別なのですか?