假设有如下几个类及其实例:
class MySender : public QObject
{
Q_OBJECT
public:
MySender(){}
signals:
void SignalWithPara(int value);
void SignalWithParaMsg(const QString& msg);
};
class MyExecutor : public QObject
{
Q_OBJECT
public:
MyExecutor (){}
void SetValue(int value){mValue2 = value;}
public slots:
void SlotWithPara(int value){mValue = value;}
void SlotWithParaMsg(const QString& msg){mMsg = msg;}
private:
int mValue;
int mValue2;
QString mMsg;
};
class MainClass : public QObject
{
Q_OBJECT
public:
MainClass()
{
mySender = new MySender;
myExecutor = new MyExecutor;
//插入信号槽连接测试代码
}
private:
MySender* mySender = nullptr;
MyExecutor* myExecutor = nullptr;
};
一、信号槽常规连接方式
注意:下面的member部分也可以是信号
连接方式一,传统信号槽连接:
conncet(mySender, SIGNAL(SignalW