Как разработать плагин для QtWebKit?

Я пытаюсь разработать подключаемый модуль для QtWebkit. Но я не могу найти, как разработать плагин для QtWebKit, надеюсь, такой, который можно будет вызывать с помощью JavaScript. Кто-нибудь знает какие-либо учебники или документы, объясняющие, как это сделать?

Webkit был интегрирован в Qt, и этот интегрированный пакет называется QtWebkit. Они предоставили новый метод для создания плагинов.

-С уважением, Вивек Гупта


person Community    schedule 20.11.2008    source источник
comment
Был ли вообще полезен мой комментарий?   -  person Henrik Hartz    schedule 14.01.2009


Ответы (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>

Помните, что вам необходимо включить подключаемые модули и, возможно, также JavaScript, если вы хотите иметь более продвинутую функциональность в QWebSettings

Чтобы иметь более продвинутую функциональность, вы должны использовать QWebPluginFactory.

person Community    schedule 07.01.2009

На самом деле Webkit был интегрирован в Qt, и этот интегрированный пакет называется QtWebkit. И они предоставили новый метод для создания плагина. Мне просто нужна ссылка или шаги для создания плагина в QtWebkit, и этот плагин должен вызываться java-скриптом.

С уважением Вивек Гупта Полезно Бесполезно

person Community    schedule 08.12.2008

Введение в темы по программированию подключаемых модулей WebKit предназначено для WebKit, QtWebKit такой особенный?

person Community    schedule 29.11.2008

Чтобы открыть объект для Javascript, используйте

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

где lineedit — это имя, которое можно использовать для доступа к объекту из javascript.

Свойства Qt будут представлены как свойства JavaScript, а слоты — как методы JavaScript. (см. http://doc.qt.io/archives/qt-4.7/qwebframe.html#addToJavaScriptWindowObject)

person Community    schedule 05.11.2011