QGridLayout布局
前面已经介绍水平布局控件QHBoxLayout和垂直布局控件QVBoxLayout的简单使用。这章主要用来介绍更复杂但同时更具有操作性的网格布局控件QGridLayout方法的使用。
在进一步介绍之前,让我们设想一个场景——将五个元素按照图1的方式进行布置。可见,这次不仅要从列的角度,而且也要从行的角度来考虑各种元素对整体布局空间的影响。如果将每一列或者每一行的空间进行细化,那么可以利用水平布局和垂直布局嵌套的方法实现上述任务,比如,当需要放置元素二、元素三、元素四时,可以先将元素三和元素四放在一垂直布局控件内,然后将该控件和元素二再一起放入一个水平控件内(2 --> [3 4])。但是在元素数量多的情况下,这种只依靠嵌套水平布局和垂直布局控件的方法,会引起对水平控件和垂直控件过多使用的问题,比如实现图1布局时,至少需要两个垂直布局控件和两个水平布局控件(1--> [[2 --> [3 4]] 5])。并且,布局空间后期调整的困难度将随着布局控件个数的增加,而呈现增加趋势。不过,PyQt提供了应对这种局势的方法——QGridLayout网格布局控件。