Qt中C++与QML交互
2022/8/5 1:25:08
本文主要是介绍Qt中C++与QML交互,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C++端发送信号,qml端定义槽函数进行处理
note: 本篇只是用来说明C++与qml使用信号和槽的连接方式;
C++部分
在main.cpp中将发送信号的类注册进qml 中,qml可以使用; qmlRegisterType<ThreadTrackMeasure>("ThreadTrackMeasure",1,0,"ThreadTrackMeasure"); // ThreadTrackMeasure类文件 class ThreadTrackMeasure : public QThread { Q_OBJECT public: ThreadTrackMeasure(); signals: void measureResult(double x,double y,double z); public slots: void endMeasure(); void startMeasure(); protected: void run() Q_DECL_OVERRIDE; private: bool m_stop = false; Measurement_Gui meausreOperator; };
qml部分
导入文件 import ThreadTrackMeasure 1.0 // 定义 ThreadTrackMeasure { id: threadTrackMeasure } // 在qml中定义槽函数 function onMeasureResult(x,y,z) { ... } ... 在只执行一次的地方进行,信号和槽的关联 Component.onCompleted: { // 连接信号和槽 threadTrackMeasure.measureResult.connect(onMeasureResult) }
这篇关于Qt中C++与QML交互的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享