Pyqt5的页面布局

常见的页面布局思维

1.从外向内进行设计。
2.先设计框架,然后往里面添加模块。
3.把各个模块的有相同局部的控件模块化
布局的分布:

比如:登录页面,按钮带表单界面

登录页面

需要的组件:label标签 输入框
4个控件
最终的布局:
1.水平布局
登录,注册标签竖直排列,登录框,注册框竖直排列
最终水平布局
2.垂直布局
登录,登录框水平排列;注册,注册框水平排列
最终加入垂直布局。
总结:控件要水平排列,那就加水平的。控件要竖直排列那就加竖直的。
3.栅格布局
栅格布局从0行,0列出发。还可定义跨越几行几列。
如:self.grid_layout.addWidget(self.user_label, 0, 0, 1, 1) 位置位于第0行第0列,跨越1行1列。
登录标签在0行第0列,跨越1行1列。
登录框在0行第1列,跨越1行1列
注册标签在1行第0列,跨越1行1列。
注册框在1行第1列,跨越1行1列。
总结:栅格布局类似于格子。

布局的麻烦

这样单一的布局一般生成的界面都是居中,但是有些需求还要求要学会布局的界面要
1.分布在左上角
2.自适应大小
3.两个控件之间的间隙要连接在一起。
4.控件的大小设定。
5.界面的美化(添加颜色,添加背景图片,自定义添加空白控件(空隙))

渲染的麻烦

6.界面的跳转
7.控件的隐藏与展示
8.多线程进行操作(页面自动渲染)

按钮带表单界面

需要的组件:label标签 输入框 表单 下拉框

页面中的空隙

控件大小及页面大小

在布局中的界面调整控件大小

QWidget类

参考https://blog.csdn.net/baidu_41878679/article/details/82704438
QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。

  QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围 菜单、工具条和一个状态条。QMainWindow常常被继承,因为这使得封装中央部件、菜单和工具条以及窗口状态条变得更容易,当用户点击菜单项或者工具条按钮时,槽会被调用。

  QDialog 是最普通的顶级窗口。一个不会被嵌入到父窗口部件的窗口部件叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在Qt中,QMainWindow和不同的QDialog的子类是最普通的顶级窗口

  如果是主窗体,就选择QMainWindow,如果是顶级对话框,就选择QDialog,如果不确定,或者前两种情况都有,那么,就选择QWidget。

posted @ 2022-05-23 15:54  索匣  阅读(264)  评论(0编辑  收藏  举报