关于Qt 静态成员函数调用信号

class globalCalcThread;

extern globalCalcThread *g_calcThread;

class globalCalcThread : public QThread
{
    Q_OBJECT
public:
    globalCalcThread();
    ~globalCalcThread();
      //添加一个静态函数,让外部函数调用
    static void change();
    void emitSignal();
protected:
    void run();
 signals:
    void onChange();

};

globalCalcThread *g_calcThread = new globalCalcThread;


void globalCalcThread::change()
{
    g_calcThread->emitSignal();
}

void globalCalcThread::emitSignal()
{
    emit this->onChange();
}



connect(g_calcThread,SIGNAL(onChange()),this,SLOT(sl_Change()));


在外部调用change()静态成员函数就可以发射信号了

你可能感兴趣的:(QT)