qml 引入js_在Qt C++中调用QML中的Javascript Function

本文介绍如何在Qt C++中调用QML的JavaScript函数,以实现网络状态监测并将状态更新到QML UI。通过创建自定义对象,暴露给QML,使用信号槽机制进行通信,当C++端状态改变时,通知QML更新Label展示的网络状态。
摘要由CSDN通过智能技术生成

介绍

如何在 Qt C++中调用QML的JS函数。这里我们假象一个例子。它是这样的。 我们在Qt

C++中进行网络的监测,并把不同的状态发送给QML的

JS的某个Function。然后该Function收到该状态进行处理,最后更新UI(这里我们把这个状态显示到一个Label中)。

基本思路与具体步骤

基本思路,把你的Qt C++中的对象暴露给QML端,然后利用signals-slots

进行连接,并传递消息。具体步骤如下

1

创建自己的对象,如果你的对象是要显示在QML端,可以继承QDeclarativeItem,如果只是一个控制类,而不需要显示在QML端,只需要继承QObject。这里用到数据绑定请参考Using QML Bindings in C++

Applications

#include

class NetConnectController : public QObject

{

Q_OBJECT

Q_PROPERTY(int status READ status WRITE setStatus NOTIFY statusChanged)

public:

explicit NetConnectController(QObject *parent = 0);

void Ready()

{

emit statusChanged( m_status);

}

signals:

void statusChanged(int aStatus);

private:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值