QtCreator 可以使用ui对页面进行布局,但有时需求不方便创建单独的.h .cpp .ui文件,需要在代码中实现页面布局。
最常见的布局为水平布局:QHBoxLayout、垂直布局:QVBoxLayout、网格布局:QGridLayout
今天讲一下水平布局和垂直布局,网格布局后期补上。
一、水平布局:QHBoxLayout
水平布局就是控件在一个水平面上排列。平常很容易发现有些输入框或者按钮排在一个水平面上,通过扩大或缩小页面,控件在水平方向产生形变,但是在垂直方向上不会产生变化。
例子:创建一个窗口,添加搜索输入框和搜索按钮
前期准备:创建一个窗口、一个输入框、一个按钮
QDialog* dialog = new QDialog(); //创建一个Dialog窗口
QLineEidtor* searchLine = new QLineEditor(); //创建一个“搜索”输入框
QPushButton* button1 = new QPushButton("search"); //创建一个“搜索”按钮
添加布局:创建布局,将输入框和按钮添加到水平布局中
QHBoxLayout* hBoxLayout = new QHBoxLayout(); //创建水平布局
hBoxLayout->addWidget(searchLine); //将输入框添加到水平布局中
hBoxLayout->addWidget(button1); //将按钮添加到水平布局中
将布局设置到窗口中