设置最大最小值,级别最高
setMinimumSize();
setMaximumSize();
QLayout::SetDefaultConstraint; //设置部件的MinimumSize值
QLayout::SetFixedSize; //主窗口大小设置为sizeHint();他无法改变大小。
QLayout::SetMaximumSize; //设置窗口最大大小,不能再放大。
QLayout::SetMinimumSize; //设置窗口最小大小,不能再缩小。
QLayout::SetMinAndMaxSize; //设置窗口最大大小和最小大小。
QLayout::SetNoConstraint; //设置部件不被约束。
则设定水平策略为:Preferred, 垂直策略为:Minimun
其它选项:Fixed 、Maximum、Expanding、Ignored
setSizePolicy ( QSizePolicy:: Preferred,QSizePolicy:: Minimum) ;
QHBoxLayout横向布局
//向布局中添加控件
hboxLayout->addWidget(button1);
hboxLayout->addWidget(button2);
hboxLayout->addWidget(button3);
//间隔
hboxLayout->setSpacing(60);
//实例QWidget
widget = new QWidget();
//绑定布局
widget->setLayout(hboxLayout);
//绑定界面
this->setCentralWidget(widget);
QGridLayout::addWidget(widget,row,column,rowSpan,columnSpan);
row,column为控件占据的左上角单元格位置,
rowSpan是控件占据的行数,colunmSpan是控件占据的列的个数。
rowSpan和colunmSpan默认值为1。
QGridLayout网格布局
//创建纵向布局
gridLayout = new QGridLayout();
button1 = new QPushButton("按钮1");
button2 = new QPushButton("按钮2");
button3 = new QPushButton("按钮3");
//向布局中添加控件
gridLayout->addWidget(button1,0,0,1,1);
gridLayout->addWidget(button2,0,1,1,1);
gridLayout->addWidget(button3,1,0,1,1);
//实例QWidget
widget = new QWidget();
//绑定布局
widget->setLayout(gridLayout);
//绑定界面
this->setCentralWidget(widget);