C++Qt不用UI的形式完整代码实现有两个QRadiobutton,横向排列,第一个QRadioButton控制第一个QgroupBox,第一个在QgroupBox在第一个QRadioButton下面显示,第二个QRadioButton控制第二个QgroupBOx,且第二个QGroupBox在第二个QRadioButton下显示
时间: 2024-03-06 15:47:56 浏览: 77
pyQt学习PPT,供爱学习的宝贝使用
好的,以下是C++ Qt不使用UI的代码实现:
```cpp
#include <QApplication>
#include <QWidget>
#include <QRadioButton>
#include <QGroupBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *widget = new QWidget();
// 创建两个QRadioButton和两个QGroupBox
QRadioButton *radioBtn1 = new QRadioButton("Radio Button 1");
QRadioButton *radioBtn2 = new QRadioButton("Radio Button 2");
QGroupBox *groupBox1 = new QGroupBox("Group Box 1");
QGroupBox *groupBox2 = new QGroupBox("Group Box 2");
// 创建垂直布局
QVBoxLayout *vLayout = new QVBoxLayout(widget);
// 第一个QRadioButton和第一个QGroupBox
QHBoxLayout *hLayout1 = new QHBoxLayout();
hLayout1->addWidget(radioBtn1);
vLayout->addLayout(hLayout1);
vLayout->addWidget(groupBox1);
// 第二个QRadioButton和第二个QGroupBox
QHBoxLayout *hLayout2 = new QHBoxLayout();
hLayout2->addWidget(radioBtn2);
vLayout->addLayout(hLayout2);
vLayout->addWidget(groupBox2);
// 设置布局
groupBox1->hide();
groupBox2->hide();
QObject::connect(radioBtn1, &QRadioButton::clicked, groupBox1, &QGroupBox::show);
QObject::connect(radioBtn2, &QRadioButton::clicked, groupBox2, &QGroupBox::show);
widget->show();
return a.exec();
}
```
以上代码中,我们创建了两个QRadioButton和两个QGroupBox,并使用垂直布局将它们排列起来。然后,我们通过连接QRadioButton的clicked信号和QGroupBox的show槽来实现控制QGroupBox的显示和隐藏。注意,我们在一开始将groupBox1和groupBox2都隐藏起来。
希望这个代码对你有帮助!
阅读全文