在哔哩哔哩中看的教程整理的笔记:视频链接https://www.bilibili.com/video/BV1VE411t7kC?p=1
目录
一.水平布局
两种方法:
1.选中控件——》右键布局——》水平布局
2.layout的horizontal ——》将部件拖进去
设计的ui程序只是设计的,要真正在程序中调用要转换成.py文件
方法三:在pycharm中设置(拓展工具中设置PyUIC,具体设置方法自行查找)
二.垂直布局
三.Grid 栅格布局
N行m列
四. form表单布局
N行两列
左侧一般是标签,右边一般是采集用户输入的
五.组合垂直和水平布局
图中备注为label形式
下面的文本框为line Edit形式
Ctrl+方向键 微调
六.绝对布局
七.分割线与间隙
属性在goemotry中查看
- spacer 添加加空隙
水平的话,先调整为水平布局,将Horizontal spacer拖入水平布局内——》选中间隙,——》spacer中选中sizeType中的Fixed ——》可以设置宽度,垂直的可以设置高度
2. 添加间隔线
在Displace Widgets中的 Vertiacl Line与Horizontal Line
八.控件尺寸的最大值与最小值
minimumsize最小
maximumsize 最大 设置一个控件最大最小的尺寸
九.尺寸策略(sizePolicy)
SizeHint(期望尺寸)
默认尺寸,对于大多数控件来说,SizeHint不可修改,只读。
读取SizeHint的方法如图:
举例:设置如下界面
首先选择一个水平布局——》然后在水平布局左侧添加一个Tree View(Item Views中) ,右侧加一个frame面板(Containers中),——>然后设置为1:1:2的水平比例,——》然后在右侧加入表单布局,form layout,再往form layout中拖动label与line text
十.伙伴关系
两个控件的关联关系
菜单显示时按热键才起作用,相当于另外一种快捷键。
效果:
当键盘输入ait+a 时光标显示在姓名后的文本框,不区分大小写
alt+b光标定位在身份证后
代码也可以实现两个控件的伙伴关系(以后讲)
十一.Tab顺序
按Tab键之后,光标在输入框中的跳转顺序
方法一:右键
方法二:直接点框内数字
十二.信号和槽
信号(signal)与槽(slot)是qt的核心机制,也是Pyqt的核心机制。
信号:是由对象或控件发射出去的消息
按钮的单击事件:当单击按钮时,按钮就会向外部发送单击的消息,这些发送出去的信号需要一些代码来拦截,这些代码就槽。
槽:本质上是一个函数或方法,信号可以理解为事件函数
需要将信号与槽绑定,一个信号可以和多个槽绑定,一个槽可以拦截多个信号
例1:功能:实现点击按钮,关闭窗口
(1)先创建一个按钮,再设置信号/槽
注:
可恢复窗口,即重新编辑(删除控件等操作)
例2:功能:实现输入框的显示与隐藏,以及文本输入框的可用与不可用
效果如下图:
1.首先设置隐藏于显示这两个控件
(1)设计出界面:复选框和文本输入框
(2)修改复选框默认为选中状态
,即默认为
(3)设计信号/槽关系
2.设置这两个控件
(1)设计出界面:复选框和文本输入框
(2)将文本框默认设置为不可用
,即文本输入框显示为灰色
(3)设计信号/槽关系
最终效果如下:
单击(clicked)事件与close方法想关联。
十三 . 添加菜单栏与工具栏
如何创建菜单栏与工具栏,并且往菜单栏和工具栏添加菜单和按钮
1.状态栏
主窗口最下面的状态栏,默认是有的
2.菜单栏
点击菜单栏——》右键移除