Qt WebEngine网页交互JSON格式通用版
环境:Qt12.9 , VS2017
一、简单介绍
在理解Qt WebEngine网页交互博客后,加入自己的理解,形成一个JSON格式通用版,此版本只需要对JSON数据进行自己的处理,就可以处理各种各样的复杂数据。
二、核心代码
1、在 pro 文件中添加以下内容,注意 c++11 也是必须的
QT += webenginewidgets webchannel
CONFIG += c++11
2、编写核心类WebObject
#pragma execution_character_set("utf-8")
#ifndef WEBOBJECT_H
#define WEBOBJECT_H
#include <QObject>
#include<QJsonObject>
class WebObject : public QObject
{
//供网页 JS 使用的属性
Q_PROPERTY(QJsonObject json MEMBER mJson NOTIFY sigJson)
Q_OBJECT
public:
explicit WebObject(QObject *parent = nullptr);
signals:
//C++触发信号,槽函数在js中有定义,connect方法在Js代码中
void sigJson(QJsonObject json);
public slots:
//JS 调用此方法,可以将js信息传到C++代码
void slotJson(QJsonObject json);
private:
QJsonObject mJson;
};
#endif // WEBOBJECT_H
webobject.cpp
#include "webobject.h"
#include<QDebug>
WebObject::WebObject(QObject *parent) : QObject(parent)
{
}
void WebObject::slotJson(QJsonObject json)
{
qDebug()<<json;
}
3、编写WebView类,继承QWebEngineView
webview.h
<