c++中创建Widget,放置三个radiobutton,使radiobutton1和radiobutton2可以同时被选中,使radiobutton1和radiobutton3可以同时被选中
时间: 2024-02-24 11:56:38 浏览: 91
实现checkbox(多项选择)和radio button(单项选择)功能
5星 · 资源好评率100%
下面是一个使用Qt框架创建Widget并放置三个radiobutton的示例代码,使radiobutton1和radiobutton2可以同时被选中,使radiobutton1和radiobutton3可以同时被选中:
```
#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
#include <QtWidgets/QRadioButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QButtonGroup>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *widget = new QWidget();
QRadioButton *radioButton1 = new QRadioButton("Radio Button 1");
QRadioButton *radioButton2 = new QRadioButton("Radio Button 2");
QRadioButton *radioButton3 = new QRadioButton("Radio Button 3");
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(radioButton1);
layout->addWidget(radioButton2);
layout->addWidget(radioButton3);
widget->setLayout(layout);
// 设置radiobutton1和radiobutton2可以同时被选中
QButtonGroup *buttonGroup1 = new QButtonGroup();
buttonGroup1->addButton(radioButton1);
buttonGroup1->addButton(radioButton2);
buttonGroup1->setExclusive(false);
// 设置radiobutton1和radiobutton3可以同时被选中
QButtonGroup *buttonGroup2 = new QButtonGroup();
buttonGroup2->addButton(radioButton1);
buttonGroup2->addButton(radioButton3);
buttonGroup2->setExclusive(false);
widget->show();
return a.exec();
}
```
在这个示例中,我们使用了Qt框架提供的QRadioButton类来创建radiobutton,并使用QVBoxLayout类将它们放置在一个垂直布局中。为了实现radiobutton1和radiobutton2可以同时被选中,我们创建了一个QButtonGroup对象buttonGroup1,并将radiobutton1和radiobutton2添加到这个组中,然后调用setExclusive(false)方法将这个组设置为非互斥。同样的,为了实现radiobutton1和radiobutton3可以同时被选中,我们创建了另一个QButtonGroup对象buttonGroup2,并将radiobutton1和radiobutton3添加到这个组中,然后也将这个组设置为非互斥。
最后,我们将三个radiobutton放置在同一个QWidget中,然后通过调用show()方法显示这个QWidget。这样,用户就可以同时选中radiobutton1和radiobutton2,或者同时选中radiobutton1和radiobutton3了。
阅读全文