QT5:C++与 QML混合编程
来源:互联网 发布:纯种汉族人的特征 知乎 编辑:程序博客网 时间:2024/06/14 19:44
C++作为底层(后台),QML作为上层(前台),可以实现混合编程。
(一) 仅加载QML文件(与javaScript)
利用QQmlApplicationEngine 类实现:
Main.qml中最底层采用ApplicationWindow类。
(二) 加载QML文件,且需要两者通讯时
利用QQmlComponent类实现
(1) QML使用C++中对象,需要设置上下文(rootContext)
(2) QML使用C++中函数,需要Public Slots或者Q_INVOKABLE声明
注:亦可以采用元对象系统
(3) QML使用C++中函数中具体的类,需要qmlRegisterType函数
(4)QML 中需要通过C++设置某类的属性(或需要两者对某类进行通讯),需要将该类在C++中注册元对象(Q_DECLARE_METATYPE与qRegisterMetaType),如
qRegisterMetaType<QSurface3DSeries *>();
然后
1)在QML中将该类的ID传递过去
2)在C++中操作其对象(或指针)即可
阅读全文
0 0
- QT5:C++与 QML混合编程
- QML与C++混合编程
- QML与c++混合编程
- QML与C++混合编程
- QML 与 C++ 混合编程(1)
- QML 与 C++ 混合编程(2)
- Qml 与 C++ 混合编程整理
- 详解QML与C++混合编程使用
- QML与C++混合编程使用
- QML与C++混合编程使用
- QML与C++混合编程详解
- C++与QML混合编程实现2048
- QML与C++混合编程详解
- QML与C++混合编程使用
- QML与C++混合编程详解
- C++与QML混合编程实现2048
- Qt c++与QML混合编程
- QT之QML与C++混合编程
- HDU 5976 Detachment (数学规律+逆元)
- Unity开发HTC vive 二、操作GUI
- 1.6-1.8 配置IP和问题排查
- Android_Refrogit与RxJava结合使用
- 【备忘】七月在线机器学习算法班9月在线班视频教程
- QT5:C++与 QML混合编程
- mysql插入当前时间
- Unity开发HTC vive 三、远处拖动3D物体
- 1.9-1.12 Putty和Xshell远程密钥
- 支付宝掉实名余额关闭了怎么办
- c语言文件读写 huffman编码
- Linux 5种IO模型
- Unity开发HTC vive 四、传送
- 编程之路(始)