探究Qt信号槽连接以及参数传递

假设有如下几个类及其实例:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值