QML与c++交互
来源:互联网 发布:js移除节点 编辑:程序博客网 时间:2024/05/17 07:51
转自: http://blog.chinaunix.net/uid-26126915-id-4366856.html
关于导出C++的学习
说明,主要是对QT的文档内例子进行的一些分别解说,希望更容易的理解
C++导出到QML的过程。
1.导出一个简单的类Person
2.具体导出过程
假设我们要导出一个Person类,
A 那么就要考虑如何的一个类他才可以导出呢?
他需要符合一定的条件
1.继承自QObject
2.有默认构造函数
B 如何导出呢?
通过一个函数
intqmlRegisterType(const char *uri, int versionMajor, int versionMinor,const char *qmlName)
intqmlRegisterType()
3.具体的例子
说明:我们通过qmlRegisterType<Person>("People",1,0,"Person");
向QML中导出Person类,这个类在People包中,在QML中需要使用Person类的
话就必须包含People包,通过importPeople 1.0来包含,之后就可以使用Person
创建对象使用来。
1.导出Person类中的成员方法
2.具体导出过程
导出的方法有
1.使用Q_INVOKABLE
2.使用槽机制
3.具体代码
说明:
这里导出了两个函数分别是FirstEcho和SecondEcho两个函数,这两个函数本别是使用
FirstEcho使用使用Q_INVOKABLE导出,SecondEcho直接使用槽。
调用函数在控制台输出一些信息,这里是在鼠标点击界面后出发的。
1.导出Person类中的属性
2.具体导出过程
1.导出Person一个颜色属性,一个int属性
注意
1.当需要实现属性变化其他引用到此属性的属性也跟着变化的情况的话,需要设置属性相应的信号
2.设置属性的时候,使用的类型必须是已经导出到QML中的类型
3.具体代码
在person类中,设置了两个属性bgcolor,count ,他们分别在发送改变后调用自己对应的信号
具体看源代码,这里是设置来矩形框的颜色,文本框中文本。
1.导出Person类,并且一个Job类,Job类包含一个Person的指针
2.具体导出过程
1.通过属性来实现,具体的请看代码
3.具体代码
说明:
主要是导出了两个类Person和Job,Job包含一个Person的指针,这样后,可以看到
在QML中,我们需要给予Job对象一个Person来尽心赋值。
1.导出Person类,并且一个PersonGroup类,PersonGroup类是Person的一个组
2.具体导出过程
1.通过属性来实现,具体的请看代码
3.具体代码
这里导出了两个类Person,PersonGroup, PersonGroup保存来一个Person的组,
我们通过导出的函数来调用类面的成员,获取成员的信息.
- QML与C++交互
- QML与c++交互
- QML与C++交互
- QML与C++交互
- QML与c++交互
- QML与C++交互
- QML与C++交互
- qml 与 c++交互
- QML与c++交互学习
- C++与QML交互基础
- QML与C++的交互
- qml与C++的交互
- QML与c++交互方法
- qml之与C++交互
- QML与c++交互学习笔记
- QML与c++交互学习笔记(一)
- QML与c++交互学习笔记(二)
- QML与c++交互学习笔记(三)
- 关于EclipseLink 2.5.0 HashPartition小BUG的关注
- 网络协议
- Android UI 详解之AlertDialog
- 关于安卓相机拍照的一些问题
- silverlight查询功能
- QML与c++交互
- oracle flashback 闪回
- android如何将资源打入jar并对资源进行保护
- Ubnutu 安装VIM
- 将android程序打包成sdk中资源的处理
- Android中ENTER键(确认键)点击响应
- tomcat6两个常用配置,端口和web目录
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- Android 开源交流 QQ 群分享汇总