实现登录窗口
利用布局方式给窗口美化
选取 widget 进行布局:水平、垂直、栅格(矩阵)
布局包括用户名、密码、登录、退出
使用弹簧进行布局
接下来让我们着手实现。
创建一个新项目,并且打开ui设计。
菜单栏,工具栏,状态栏用不上,全部移除。
拖入两个Label,一个是用户名,一个是密码。
拖入两个Line Edit,使用户可以输入。
现在用户名和对应输入框没有平行,并且用户名、密码也没有垂直,我们需要调整布局。
首先将他们放入同一个widget,并且调整布局。
结果如下:
接下来我们需要用户名和密码对齐,两个输入框对齐,就需要用到栅格了。
但是使用前我们需要先打破布局,重新创建一个widget包含这四个控件。
接下来插入两个按钮Push Button,登录与退出,并进行水平布局。
但是我们发现,拖动窗口里面的控件并不会随着窗口变化而改变大小。
原因是因为我们的3个widget之间并没有布局,用户、密码、登录这三个widget是独立存在的。
因此我们选中最大的widget,也就是默认的窗口进行一个垂直布局。
现在空间可以随着窗口大小改变来改变大小了,可是又引出一个新的问题,我们想要界面好看的话,登录和退出,用户名密码对应输入这块,应该尽可能居中,并且登录和退出之间需要有空隙,那么就该使用弹簧了。
这里我们还更改了弹簧的属性,保证任何窗口大小下,登录和退出之间间隙一致。
但是我们发现,上下两部分widget之间空隙很大,并且不能通过拖动来改变widget大小,因此我们更改widget策略。
接下来我们想要用户名、密码之间有空隙,因此加入垂直弹簧。
最后,我们想要用户不可以改变窗口大小,因此需要设置最小和最大尺寸为一个值。
修改一下标题,调整用户名、密码使之对齐。
最后我们发现,控件与widget间上下左右都有间隙,我们需要修改几个参数。
最后,我们想要输入密码的时候不显示输入的密码,只需要改一个参数。
完成。