qt Connect 连接两种方式

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 11:19   4693   0

qt Connect 函数是连接信号和槽函数的连接函数。现在有两种方式。


1.connect(*SenderObj, &SenderClass::signalMethod, *ReceiveObj, &ReceiveClass::slotMethod)


这种方式不要求slot函数必须是槽函数,可以是private,也可以是public类型。

假如signalMethod 与slotMethod(int a) 有参数,在connect中则比不必写参数,只用写函数名即可。

connect(ui->pushButton, &QPushButton::clicked,this, &MainWindow::clickkkk);


2.connect(*SenderObj, SIGNAL(signalMethod()), *ReceiveObj, SLOT(slotMethod()))


格式必须统一,slotMethod()必须定义为public slots: 或者private slots: 槽函数。如果slotMethod(int arg),带有参数,则在connect函数里,也必须带上参数。

connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(clickkkk()));


3. 直接嵌入匿名函数

connect(ui->pushButton, &QPushButton::clicked, this, [=](){ //匿名表达式可以直接作为槽函数
        ui->label->setText("112");
    });
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP