Как встроить qtwebkit в не-QT приложения Windows? - PullRequest
3 голосов
/ 04 февраля 2010

Я хочу встроить qtwebkit в мое чистое приложение для Windows c GUI.

Есть ли примеры, примеры кода, как это сделать, или это просто невозможно?Я знаю, что это очень легко сделать в приложении QT, но я хочу сохранить свою разработку на C (который может быть скомпилирован с помощью бесплатного компилятора c).

(поиск в Google несколько дней без удачи).1005 *

Ответы [ 4 ]

2 голосов
/ 04 февраля 2010

Начиная с QT4, все виджеты требуют инициализированного и запущенного объекта QApplication, который отправляет как события os, так и события QT, необходимые для поддержания работы виджетов QT.

Похоже, что возможно создать собственный подкласс QApplication, который будет создан (для QWebKit или других виджетов), чтобы существовал синглтон, а затем вызывать его из цикла сообщений вашего приложения - или, возможно, даже просто таймер, отправленный в ваше окно - и заставить его отправлять любые QEvents, которые он поставил в очередь.

Я не пробовал, но у меня есть аналогичная необходимость использовать WebKit в существующем приложении Windows, и, похоже, это QWebKit, или эта вещь

0 голосов
/ 18 февраля 2010

Можно считать http://www.twotoasts.de/index.php?/pages/midori_summary.html Это чистый C веб-браузер, который использовал WebKit (не QtWebKit) Возможно, это может быть полезно для вас)

0 голосов
/ 10 февраля 2010

да ... wxwidgets определенно лучше, чем QT (на мой взгляд). WxWebConnect довольно неплохо встраивает элемент управления браузера gecko.

Обязательно попробуйте http://www.kirix.com/labs/wxwebconnect.html

P.S. Если вам интересно, над каким проектом я работаю, проверьте его по адресу http://www.viewerforphp.sourceforge.net (программа для запуска php-страниц без использования серверного пакета, такого как uniserver, WAMP и т. Д.).

0 голосов
/ 09 февраля 2010

Создайте себе элемент управления ActiveX, используя ActiveQt.Это просто.Затем вставьте это.Qt даже знает, как вытащить объекты IDispatch в свою мета-объектную систему, что, в свою очередь, позволяет вам представить их в вашем контексте JavaScript.Это действительно довольно гладко.

Я делаю именно это в моем текущем проекте.Я постараюсь открыть исходный код, чтобы спасти других людей от работы, но вряд ли это будет разрешено.

...