[英]c++ connect signal
我得到了这个thread.h文件;
#ifndef THREAD_H
#define THREAD_H
#include <QtGui>
#include <QString>
#include <tray.h>
class svThread : public QThread {
public:
bool getIsPaused();
void checkSettings();
virtual void run();
void setPause(bool);
signals:
void mySignal(bool);
};
#endif // THREAD_H
然后我得到了一个名为tray:P的托盘应用程序,我在其中创建了一个线程;
svThread a;
我开始了。
在tray.h中,我也有一个插槽
class Tray : public QWidget
{
Q_OBJECT
public:
Tray();
QMenu *trayIconMenu;
public slots:
void settings();
void pause();
void setPause(bool);
public:
void createActions();
void createTrayIcon();
QAction *settingAction;
QAction *quitAction;
QAction *pauseAction;
QSystemTrayIcon *trayIcon;
};
#endif
但是当我使用setPause();
时如何做到这一点setPause();
在他调用setPause();
的thread.cpp文件中setPause();
在tray.cpp文件中?
尝试排队连接 。 只需提供连接Qt::QueuedConnection
第五个参数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.