Qtwebengineview介绍
python自动化过程中,经常需要用到Qtwebengineview浏览器执行自动化操作。 所以了解Qtwebengineview是必须的。
Qtwebengineview是基于chrome内核的浏览器框架 。
内核有原来的Webkit升级为WebEngine.主要表现在同步变成异步调用 ,同时对h5的支持性比较好。
查是不支持直接读取dom结点数据。如果想读取dom节点,需要用selenium来读取。
Qtwebengineview有以下三部分组成。
QtWebEngineCore: 提供Qtwebengine and QtwebEngineWidgets的api
QtWebEngine: 在QML应用程序中生成网页内容的QML类型
QtWebEngineWidgets: 指供web浏览器引擎以及c++类来生成网页内容
qt webendine architecture介绍
qt webengine 提供c++类和QML类型来展求网页内容。
Qt WebEngine Widgets Module
View:是qt webengine的主要部件,被用在不同的应用程序加载网页内容,
包含了显示网页内容的主框架,历史记录,行为动作
Profile做为独立的页面去存储settting,action 和profile
Qt Webengine core 基于chromium 引擎,使用chrome的网络和绘画引擎
QWebEngineView *view = new QWebEngineView(parent);
view->load(QUrl("http://www.qt.io/"));
view->show();
Qt Webengine做为插件使用,
必须 调用initialize()进行初始化
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QtWebEngine::initialize();
QMainWindow window;
window.show();
return app.exec();
}
为了确保GUI和页面渲染过程中共享OPENGL上下文,则必须 在main方法中初始化。
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QtWebEngine::initialize();
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
文笔细腻,描写生动,画面感跃然纸上。