qt 将两个radiobutton和lineedit分组 以便仅选择其中的一个
时间: 2024-02-17 20:00:47 浏览: 145
可以使用QButtonGroup类将两个radiobutton分组,然后使用setEnabled()函数来控制lineedit的可用性,从而实现仅选择其中一个的效果。
首先,在Qt Designer中将两个radiobutton和一个lineedit拖入窗口。然后,选中这两个radiobutton并右键单击,选择“添加到按钮组”选项。在弹出的对话框中,创建一个新的按钮组并点击“确定”。
接下来,在窗口类的构造函数中,创建一个QButtonGroup对象,并将这两个radiobutton添加到按钮组中。例如:
```
ui->setupUi(this);
QButtonGroup *buttonGroup = new QButtonGroup(this);
buttonGroup->addButton(ui->radioButton1);
buttonGroup->addButton(ui->radioButton2);
```
然后,在信号槽中,使用setEnabled()函数来控制lineedit的可用性。例如:
```
connect(ui->radioButton1, &QRadioButton::toggled, this, [=](bool checked){
ui->lineEdit->setEnabled(!checked);
});
connect(ui->radioButton2, &QRadioButton::toggled, this, [=](bool checked){
ui->lineEdit->setEnabled(checked);
});
```
这样,当选择第一个radiobutton时,lineedit将变为不可用状态;当选择第二个radiobutton时,lineedit将变为可用状态。同时,由于这两个radiobutton被分组,仅能选择其中的一个。
阅读全文