提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文主要实现的功能是在Qt中嵌入一个本地的Web页面(这里使用了Echarts),通过使用Js对页面数据进行动态刷新:
Qt现在版本已经用WebEngine代替了webkit模块。
网上关于WebEngine资料比较少,所以自己写了一个。
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用准备
安装MSVC编译器,这里我使用了MSVC2017。
原因是因为mingw编译器不支持webengine模块,webengine底层用了chrome,据说chrome团队不喜欢mingw,所以只能使用MSVC。
二、步骤
1.工程文件添加
Qt += core gui webenginewidgets webchannel
2.头文件
#include <QWebEngineView>
#include <QtWebChannel>
3.代码
创建一个WebView对象, 链接信号和槽
WebView = new QWebEngineView(ui->widget);
///通过信号判断是否加载完成
connect(WebView,SIGNAL(loadFinished(bool)),this,SLOT(slotloadFinished()));
WebView->setAttribute(Qt::WA_DeleteOnClose);
WebView->load(QUrl("qrc:/html/day.html"));
WebView->setWindowFlags(Qt::FramelessWindowHint); //去除边框
WebView->setAttribute(Qt::WA_TranslucentBackground, true); //透明
///自定义窗口大小
WebView->resize(1024, 600);
WebView->show();
,页面载入完成时会触发slotloadFinished()(示例):
void WebEnginePro::slotloadFinished()
{
/// 正常/欠费/停机/注销
/// 根据html文件需要的数据传入Json
QJsonObject packageObj;
QJsonArray json_online;
QJ