Qt WebKit2 доступен только для QML.
В Qt 5 и Webkit2 API-интерфейсы для QtWebKit и Web View значительно меняются.Это потому, что с WebKit2, WebKit и приложение работают в разных процессах.Старый виджет QWebView будет поддерживаться только в Qt для настольных компьютеров и не будет использовать новый WebKit2.Платформы мобильных телефонов обычно не имеют установленного модуля QWidgets в Qt 5.
Примеры, использующие QtWebKit QML API, использующий архитектуру разделенного процесса WebKit2, можно найти в документации Qt WebKit Существует Flickr View и YouTube View examples
Qt также имеет WebView модуль с примерами типа Minibrowser
И Модуль WebEngine .Примеры можно найти здесь
А вот самый простой пример WebKit2, который просто показывает веб-страницу Google
- Использование Qt 5.5.1 длязапустите этот пример.
- Добавьте следующее к вашему .pro файлу:
QT += quick qml webkit
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())return -1;
return app.exec();
}
main.qml
import QtQuick 2.0
import QtQuick.Window 2.0
import QtWebKit 3.0
Window {
visible: true
width: 967
height: 480
WebView {
id: webView
anchors.fill: parent
opacity: 0
url: "https://google.com"
Behavior on opacity
{
NumberAnimation { duration: 200 }
}
onLoadingChanged:
{
switch (loadRequest.status)
{
case WebView.LoadSucceededStatus:
opacity = 1
break
default:
opacity = 0
break
}
}
onNavigationRequested:
{
request.action = WebView.AcceptRequest
}
}
}