QT之QGroupBox

QT支持多种布局:

FormLayout::addRow函数:一边是lebel,一边是spinBox / lineEdit / ComboBox等,

VBoxLayout:垂直布局

HBoxLayout:水平布局

GridLayout:二维布局。

 

整体效果来看,以QGroupBox为单位局部比较不错:

对应代码如下:

QGroupBox* rotateGroup = new QGroupBox(tr("Rotate")); QFormLayout *formLayout = new QFormLayout; QDoubleSpinBox* rotateSpin = new QDoubleSpinBox; rotateSpin->setRange(0.0, 360.0); formLayout->addRow(new QLabel(tr("Angle: ")), rotateSpin); rotateGroup->setLayout(formLayout); QGroupBox* fillGroup = new QGroupBox(tr("Render Mode")); QRadioButton* wireButton = new QRadioButton(tr("Wired")); QRadioButton* fillButton = new QRadioButton(tr("Filled")); QVBoxLayout *groupBoxLayout = new QVBoxLayout; groupBoxLayout->addWidget(wireButton); groupBoxLayout->addWidget(fillButton); fillGroup->setLayout(groupBoxLayout);

思路

1,局部 QGroupBox继承与QWidget,单元内部可以通过各种布局类管理孩子控件(QWidget),最终调用QGroupBox::setLayout关联布局类。

2,整体 QGroupBox继承与QWidget,又可以作为控件参与整体布局,作为Layout::addWidget参数。

你可能感兴趣的:(QT,C++)