Qt将信号发送到另一个类的静态插槽

时间:2017-08-01 13:43:12

标签: c++ qt

我找到了这些答案hereherehere,但没有人可以帮助我解决我的问题,因为我的插槽位于另一个类中,答案是针对静态插槽同一班 请考虑以下代码:

class Util : public QObject
{
    Q_OBJECT
    public slots:
         static void clean(); // static

    private:
        Util(QObject *parent=0): QObject(parent){} // be always static
};

class Handler: public QObject
{
    Q_OBJECT
    public:
       Handler(QObject *parent=0): QObject(parent){}
    signals:
        void cleanup();
};

MainWindow 功能 connectSignal();

void MainWdindow::connectSignal()
{
    Handler *handler = new Handler();
   connect(handler, SIGNAL(cleanup), &Util::clean) // compile error 
}

错误是:

 no matching function for call MainWindow::connect(Handler*&, const char*, void(*)())
....
note: cannot convert Util::clean(type void(*)()) to type const QObject*

任何帮助表示赞赏。感谢

更新
在评论中解决了解决方案

0 个答案:

没有答案