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");
});
|