Qt与HTML/JavaScript网页端通信和调用
qt与网页的交互主要是借助js。简单的说就是在注册一个qt中的类给js段调用,,qt通过接口调用js端的函数。
这里需要用到一个qt自带的qwebchannel.js文件,还需要html文件和通信需要调用的js文件,qt源码,具体情况代码上有。
---------------------mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QVBoxLayout>
#include <QPushButton>
#include <QMainWindow>
#include <QWebEngineView>
#include <QWebchannel>
class JsContext : public QObject
{
Q_OBJECT
public:
explicit JsContext(QObject *parent = nullptr);
~JsContext();
signals:
void recvdMsg(const QString& msg);
public:
// 向页面发送消息
void sendMsg(QWebEnginePage* page, const QString& msg);
public slots:
// 接收到页面发送来的消息
void onMsg(const QString& msg);
};
class MainWindow : public QMainWindow