qt web混合编程_QT+HTML+JS混合编程(QT5.9+QWebEngineView +QWebchannel)

本文介绍了如何使用QT5.9进行QT+HTML+JS混合编程,通过QWebEngineView和QWebChannel实现QT界面与HTML界面的数据交互。详细步骤包括工程配置、通道对象创建、主类与HTML的通信以及源码示例。
摘要由CSDN通过智能技术生成

被HTML优雅界面吸引,初次学习QT+html混合编程开发,参考了https://blog.csdn.net/Best_ZYJ/article/details/79027245。以下是简单的登陆界面开发步骤,附源码。

QT:

工程文件.pro添加:

Webenginewidgets (web显示类,用于显示web界面)

Webchannel(web数据通道类,用于数据通信)

QT       += core gui webenginewidgets webchannel

创建通道对象类(qt与web通信是通过对象的方式交换数据)

创建类TinteractObj:

class TInteractObj : public QObject

{

Q_OBJECT

public:

TInteractObj(QObject *parent);

~TInteractObj();

//页面端调用QT公共接口,必须有Q_INVOKABLE

//页面端调用QT变量,用Q_PROPERTY,用法与QML相同

Q_INVOKABLE void JSSendMessage(QString strParameter,QString str);

Q_PROPERTY(QString username READ username WRITE setusername NOTIFY sig_nameChanged)

Q_PROPERTY(QString password READ password WRITE setpassword NOTIFY sig_passwdChanged)

QString m_username;    //本地保存的数据对象

QString m_password;

QString username(){

return m_username;

}

QString password(){

return m_password;

}

void setusername(QString str){

m_username = str;

}

void setpassword(QString str){

m_password = str;

}

signals:

void sig_nameChanged();

void sig_passwdChanged();

void SigReceivedMessFromJS(QString strParameter,QString str);          //网页调用函数给qt发送该信号

void SigSendMessageToJS(QString strParameter);             //给网页发送数据的信号

};

3、在主类中添加私有对象:</

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值