Qt窗口布局

    布局是Qt中用来管理窗口内的子窗口的一种方法。布局本身不是窗口,它类似于一个虚拟的看不见的容器,可以自动调整其内的子窗口或子布局的大小和位置。

    布局统一由QLayout类表示,以它作为基类,派生出所有具体的布局类型。其中常用的布局有水平布局、垂直布局和栅格布局,它们分别由QHBoxLayout类,QVBoxLayout类和QGridLayout类代表。这些类的继承关系如下所示:


                                                                           QLayout

                              

                                  QBoxLayout                                                       QGridLayout


QHBoxLayout                                      QVBoxLayout 


注意:布局并不是窗口类,因此布局内放入窗口部件和放入布局的函数是不同的,一个是addWidget,一个是addLayout。


    对于一个窗口来说,只能有一个布局成为它的顶级布局,这可以通过向布局的构造函数传递QWidget类的指针来实现,也可以通过QWidget类的以下成员函数实现:

void setLayout(QLayout *layout)

    这个函数可以将布局layout设为窗口的顶级布局。

    栅格布局的addWidget函数原型与水平布局和垂直布局是不同的,参数上需要指明行号和列号。当然,栅格布局内也可以嵌套其他布局,使用以下函数:

void addLayout(QLayout *layout, int row, int column);


你可能感兴趣的:(layout,qt)