QML 与 C++交互 - 01QML实例化C++类

本文介绍了如何在QML中实例化C++类,作为QML与C++交互系列的第一篇。通过示例展示了在Qt项目中创建C++类并注册到QML,以及QML如何调用C++的属性和信号。但这种方法存在C++无法直接操作QML实例、仅能访问属性、不能访问单例等限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本系列会介绍几种QML与C++进行数据交互的方法,包括信号槽的链接,QML调用C++类的方法等。
本文为第一篇:QML实例化C++类。可以点击这里访问官方示例。

在QML页面输入内容时,可以发现C++函数被触发:
图片示例
优点:
可以方便的利用Qt的属性系统从QML中访问C++类中的属性。在QML程序中定义该C++类时会直接实例化该类。
缺点:
1、无法在C++中对QML中实例化的类对象进行操作;
2、只能访问使用属性系统Q_PROPERTY声明的属性;
3、无法设置QML中访问指定的对象,即无法访问C++中的单例

详细描述

1、使用Qt Creator中的“Qt Quick Application”模板创建一个新项目

注意:取消选中New Project Wizard的Define Project Details部分中的With ui.qml文件选项。

2、添加C++类,命名为BackEnd,类的方法如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值