在QML中注册C++类型

部署运行你感兴趣的模型镜像

在Qt6以后不在推荐使用qmlRegisterType注册C++类,但是如果在Cmake项目中不使用qt_add_qml_module,这种方法还可以使用。

在Qt6以后的版本,注册C++类型到QML中需要一下几种方式

1.基于 QML_ELEMENT
在继承自QObject的类中,需要生命Q_OBJECT,在该宏下面可以直接声明 QML_ELEMENT 宏,将该C++类注册到QML中;
需要注册到QML中的C++类,头文件需要有
#include “QtQml/qqmlregistration.h”
2. 基于 QML_NAMED_ELEMENT(name) 宏,给该C++类自定义类名注册到QML中,使用方法和QML_ELEMENT一样。
注:在QMake、CMake工程中对于导入C++到QML的配置不同。

3.注册对象类型到QML中

3.1 QML_ANONYMOUS宏:注册不可实例化,且无法从QML引用的
C++类型,即无法在QML中创建、使用该C++类型声明属性。

3.2QML_INTERFACE宏:注册Qt接口类型,该类型不能从QML实例化。

3.3QML_UNCREATABLE宏:注册一个命名的C++类,该类型不可实例化,但可以被QML系统识别。
该宏必须和QML_ELEMENT或者 QML_NAMED_ELEMENT结合使用
3.4QML_SINGLETON 注册单例类型,
该宏必须和QML_ELEMENT或者 QML_NAMED_ELEMENT结合使用

注册单例类型
单例允许QML使用 namespace::属性或者 namespace::信号
或者namespace::函数 ,访问C++类的属性或者信号、函数

注:
Error:在有些书上关于图表的坐标轴 《ValueAxis》 找不到,需要改为 《ValuesAxis
需导入《import QtCharts 2.5

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值