qt中两个按钮的click()信号绑定一个btnProcess()槽函数
时间: 2023-05-28 15:04:21 浏览: 241
可以使用connect函数来实现两个按钮的click()信号绑定一个btnProcess()槽函数:
```cpp
// 创建两个按钮对象
QPushButton *btn1 = new QPushButton("Button 1");
QPushButton *btn2 = new QPushButton("Button 2");
// 绑定click()信号和btnProcess()槽函数
QObject::connect(btn1, &QPushButton::clicked, this, &MyWidget::btnProcess);
QObject::connect(btn2, &QPushButton::clicked, this, &MyWidget::btnProcess);
// btnProcess()槽函数的实现
void MyWidget::btnProcess()
{
QPushButton *btn = qobject_cast<QPushButton *>(sender()); // 获取信号源对象
if (btn == btn1) {
// 处理Button 1的点击事件
} else if (btn == btn2) {
// 处理Button 2的点击事件
}
}
```
在btnProcess()槽函数中,可以通过qobject_cast<QPushButton *>(sender())获取信号源对象,从而区分不同的按钮。
相关问题
qt中两个按钮btnSend和btnCreate的click()信号绑定一个btnProcess()槽函数
可以使用如下代码实现:
```
connect(ui->btnSend, SIGNAL(clicked()), this, SLOT(btnProcess()));
connect(ui->btnCreate, SIGNAL(clicked()), this, SLOT(btnProcess()));
```
其中,ui->btnSend和ui->btnCreate分别是两个按钮的指针,SIGNAL(clicked())表示点击信号,this表示信号接收者为当前类的对象,SLOT(btnProcess())表示槽函数为btnProcess()。绑定后,当btnSend或btnCreate被点击时,都会触发btnProcess()函数。
阅读全文