06--Qt窗口布局

 

Qt窗口布局

标签: qtlayout
 分类:
 

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

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

 

                                                                           QLayout

                              

                                  QBoxLayout                                                       QGridLayout

 

QHBoxLayout                                      QVBoxLayout 

 

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

 

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

 

[cpp] view plain copy
 
  1. void setLayout(QLayout *layout)  

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

 

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

 

[cpp] view plain copy
 
  1. void addLayout(QLayout *layout, int row, int column);  

posted on 2016-04-25 14:46  PKU张学文  阅读(287)  评论(0编辑  收藏  举报

导航