为了保证窗口随着我们拖动在变化,需要使用layout功能。按照自己的想法排列好之后如下图:

pyqt_ide

 

 接下来需要调整控件位置和大小

1.调整控件尺寸(sizepolicy)

pyqt_python_02

 

 查看登陆按钮的属性:

pyqt_边距_03

 

 因为登陆按钮与退出按钮是水平分布,整体又同上边的逐渐垂直分布,而水平策略和垂直策略就是控制其大小,缺省值minimum表示在水平或者垂直方向上,在其他控件的影响下尽可能最小,因为其他组件是这样的宽度,所以我设置为niminum后他就是个正方形了,常用的是设置为fixed,控件就变成了适合大小

pyqt_ide_04

 

 还可以新建一个空的layout,将一个控件拖入实现一个控件的水平分布或垂直分布

pyqt_python_05

 

 对于一个分布中的几个控件,可以通过设置他们的水平伸展或垂直伸展的值来调整他们的比例

pyqt_python_06

 

 如教程中将消息头控件水平伸展设置为2,其他两个设置为1,那么消息头水平方向就是其他两个控件的2倍了。

对齐不同layout中的组件,可以看到消息头和消息体是不对齐的:

pyqt_边距_07

 

 可以新建一个垂直layout,把消息体拖入该layout中。

2.调整layout的边距

pyqt_边距_08

 

 控制上下边距,实现水平对齐

pyqt_图形界面_09

 

 垂直布局只会保证垂直方向的居中,水平布局只会保证水平方向的居中:如将消息体所在布局改为水平布局后他就在水平方向居中了

pyqt_ide_10

 

 3.利用spacer调整一个布局中控件之间的空挡

pyqt_python_11

 

 可以通过spacer中的属性调整其宽度