QGropBox控件是一个带有标题的控件容器,它本身含有边框、顶部的标题栏、快捷键并且内部可以显示各种控件。可以通过键盘的快捷键来使得分组框内部的子控件获得焦点。
对于QGroupBox我们可以设置标题的名字(通过构造函数传递参数来设置),并且我们可以设置标题的位置,QGroupBox中的子控件的enable和disable决于QGroupBox本身是不是选中。
QGroupBox的相关属性:
alignment:控制标题文字的位置。
大多数样式将标题放在框架的顶部 ,可以使用下面的值来调整标题水平方向的对其方式:
1. Qt::AlignLeft: 标题的文字与组框的左侧对其。
2. Qt::AlignRight: 标题的文字与组框的右侧对其。
3. Qt::AlignHcenter: 标题文字位于组框的水平中心。
checkable:改属性表示组框在标题处是否含有一个checkbox,若该属性设置为true,那么组框的用于显示标题的普通标签将会被checkbox所取代。如果checkbox选中,那么其内部的子控件是enable,否则相反。默认情况下组框是不可选的。
flat:此属性保留分组框是被绘制为平面的还是具有边框的,组框通常由边框和顶部的标题构成,如果使用该属性,那么将只绘制顶层的边框,否则整个边框都需要绘制。
QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));
QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2"));
QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3"));
radio1->setChecked(true);
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(radio1);
vbox->addWidget(radio2);
vbox->addWidget(radio3);
vbox->addStretch(1);
groupBox->setLayout(vbox);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(groupBox);
效果图如下: