qt静态成员函数如何emit信号,下面来给大家分享一下我的经验,希望可以帮助到有需要的朋友。
方法/步骤
1、qt静态成员函数如何emit信号呢,其原理是需要让静态函数发送信号,另外一个类接收,再发送信号,QML层接收。
2、首先第一步输入蜣贺鱿柢代码classglobalCalcThread;externglobalCalcThread*g_calcThread;classglobalCa造婷用痃lcThread:publicQThread。
3、然后继续输入代码{Q_OBJECTpublic:globalCalcThread();~globalCalcThread();解释为//添加一个静态函数,让外部函数调用。
4、接下来再输入代码staticvoidchange();voidemitSignal();protected:voidrun();signals:voidonChange();};。
5、然后输入很重要的一步globalCalcThread*g_calcThrea蟠校盯昂d=newglobal潮贾篡绐CalcThread;voidglobalCalcThread::change(){g_calcThread->emitSignal();}voidglobalCalcThread::emitSignal(){emitthis->onChange();}。
6、最后输入代码connect(g_calcThread,SIGNAL(onChange()),this,SLOT(sl_Change()));在外部调用change()静态成员函数就可以发射信号了。