Harrix Блог

  • Списки статей
    • Все статьи
    • IT
    • Qt
    • C++
    • Сложение двух чисел
    • Web программированиe
    • FAQ
    • Latex
    • Установка программ
    • Мифы
    • Видео
    • Про фото
  • Проекты
  • Harrix.org
  • RSS
  • Контакты

Qt WebEngine в Qt Widgets приложении для просмотра web страниц

Qt WebEngine вместо QWebKit.

26.03.2016 7 комментариев 11 697 просмотров

В статье рассказывается, как в подключить Qt WebEngine в Qt Widgets приложении в виде примера открытия сайтов с помощью данного компонента.

В версии Qt 5.6.0 выпилили QWebKit. Вместо него теперь Qt WebEngine. Так что придется теперь работать с ним. Обратите внимание, что новый компонент пока работает только для версии Qt под компилятором Visual Studio.

Создаем приложение Qt Widgets
2016-03-26_183446

2016-03-26_183457

2016-03-26_183526

2016-03-26_183531

2016-03-26_183536

2016-03-26_183541

В «Design» режиме в Qt 5.6.0 еще нет данного компонента (возможно потом добавят). Поэтому нужно будет либо его нужно будет вручную добавить в файл формы, либо «скоммуниздить» из какого-нибудь примера. Пойдем вторым способом.

Перейдем в режим примеров.

2016-03-26_214841

Например, нужный нам компонент есть в приложении WebEngine Mardown Editor Example. Щелкаем по нему.

2016-03-26_214905

Переходим на форму приложения.

2016-03-26_215318

И там копируем компонент типа QWebEngineView.

2016-03-26_220144

И вставляем его на форму нашего приложения.

2016-03-26_220228

Я еще добавил на форму обычную кнопку, и сделал компоновку по вертикали.

2016-03-26_224125

2016-03-26_230414

В .pro файле добавьте webenginewidgets:

2016-03-26_224651

И в слоте клика кнопки напишите такой код:

1
2
ui->preview->load(QUrl("http://harrix.org/"));
ui->preview->show();

2016-03-26_224840

Теперь при старте программы и клике на кнопку (при наличии интернета) отобразится мой сайт:

2016-03-26_230128

Кстати, если вам нужно открыть локальный файл, то вместо первой строчки в последнем коде может быть такая:

1
ui->preview->load(QUrl::fromLocalFile("C:\\index.html"));

Нет похожих постов.

IT

© 2014 Harrix