Пример кода для простого браузера веб-страниц с использованием WebKit QT в C++

Я никогда не использовал Qt и WebKit, и теперь мне нужно создать простой браузер с одной веб-страницей, используя Qt WebKit module. Приложение, которое я хочу создать, должно иметь простое окно, в котором отображается URL-адрес веб-страницы, переданный через командную строку. Я делал подобные вещи, используя WebKitGTK, но понятия не имею, с чего начать в Qt.

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

Так может ли кто-нибудь предоставить мне полный пример кода, который будет просто отображать веб-страницу в Qt? Как только я получу эту часть, я смогу продолжить и расширить ее и продолжить узнавать о Qt и WebKit.

Я предложу много бонусных баллов за отличную помощь.


person Chimera    schedule 31.01.2013    source источник


Ответы (1)


Ваше требование все еще недостаточно ограничено. Если вам нужен простейший пример полного приложения, отображающего веб-страницу, вот код:

#include <QtGui>
#include <QtWebKit>

int main(int argc, char** argv) {
    QApplication app(argc, argv);
    QWebView view;
    view.show();
    view.setUrl(QUrl("http://google.com"));
    return app.exec();
}

Если это example.cpp, вы можете использовать следующие example.pro:

QT += webkit
SOURCES = example.cpp

Самый простой способ разработки Qt — использовать Qt Creator, и вы можете загрузить этот файл .pro с помощью Qt Creator, собрать приложение и запустить его. Есть только одно окно (экземпляр QWebView), и оно откроет домашнюю страницу Google.

person Ariya Hidayat    schedule 31.01.2013
comment
Большое спасибо, Ария! Я проверю это. - person Chimera; 31.01.2013
comment
Что ж, это прекрасно работает с использованием QtWebKit-47. Однако, похоже, он не может воспроизводить видео с использованием видеотегов HTML5. Есть идеи, в чем может быть проблема? Я работаю на CentOS 5.8. С Уважением. - person Chimera; 01.02.2013
comment
Вероятно, проблема с кодеками или чем-то еще. Вы должны опубликовать новый вопрос, который является более конкретным и более широким. - person Ariya Hidayat; 01.02.2013
comment
@AriyaHidaat Это не работает в Qt 5.9.4 - произошли ли изменения в Qt? - person developer01; 14.01.2021