1、qt静态成员函数如何emit信号呢,其原理是需要让静态函数发送信号,另外一个类接收,再发送信号,QML层接收。
2、首先第一步输入蜣贺鱿柢代码class globalCalcThread;extern globalCalcThread *g_calcThread;class globalCa造婷用痃lcThread : public QThread。
3、然后继续输入代码{Q_OBJECTpublic: globalCalcThread(); ~globalCalcThread();解释为//添加一个静态函数,让外部函数调用。
4、接下来再输入代码static void change();void emitSignal();protected:void run(); signals:void onChange();};。
5、然后输入很重要的一步globalCalcThread *g_calcThrea蟠校盯昂d = new global潮贾篡绐CalcThread;void globalCalcThread::change(){ g_calcThread->emitSignal();}void globalCalcThread::emitSignal(){emit this->onChange();}。
6、最后输入代码connect(g_calcThread,SIGNAL(onChange()),this,SLOT(sl_Change()));在外部调用change()静态成员函数就可以发射信号了。