QRadioButton的信号与槽响应
时间: 2024-12-08 12:20:58 浏览: 37
使用模式-Qt诺基亚官方中文教程L2_Qt的对象模型和信号槽概念
QRadioButton(单选按钮)在Qt中是用于创建选项集的一个控件,当你选择其中一个按钮时,它会发出一个名为`stateChanged(int)`的信号。这个信号的参数是一个整数,表示当前选中的Radio Button对应的组索引(从0开始),如果所有 Radio Buttons都在同一组(设置为相同的ID),那么它们会互斥选择,只有一个会被选中。
为了处理这种状态变化,你可以为这个信号关联一个槽函数(slot)。例如,你可以创建一个槽函数来处理用户的操作,比如保存用户的选择或者执行其他相关的业务逻辑:
```cpp
class MyForm : public QDialog {
private slots:
void radioButtonStateChanged(int state) {
if (state == 0) {
qDebug() << "Option 1 selected";
} else if (state == 1) {
qDebug() << "Option 2 selected";
} // 添加更多的选项判断...
}
};
void MyForm::setupUi(QDialog *dialog) {
QRadioButton *rb1 = new QRadioButton("Option 1", this);
QRadioButton *rb2 = new QRadioButton("Option 2", this);
// 设置Radio Buttons的连接
connect(rb1, &QRadioButton::toggled, this, &MyForm::radioButtonStateChanged);
connect(rb2, &QRadioButton::toggled, this, &MyForm::radioButtonStateChanged);
}
```
在这个例子中,当用户点击`rb1`或`rb2`,对应的槽函数`radioButtonStateChanged`就会被调用,根据传入的`state`值执行相应的操作。
阅读全文