标签:QML ThreadTrackMeasure double void C++ qml public Qt
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)
}
标签:QML,ThreadTrackMeasure,double,void,C++,qml,public,Qt 来源: https://www.cnblogs.com/ghghhh/p/16549474.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。