![27a93cd2c8964ecc719b795400411358.png](https://i-blog.csdnimg.cn/blog_migrate/ed85193065e1e493508b471de46b62ea.jpeg)
PyQt5学习笔记——基本窗口组件(1)
最近在看PyQt5方面的教材,简单整理汇总便于查阅;因为过于简略如果希望于深入的学习还是应该啃书本吧~
- QMainWindow 窗口可以包含菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,也可以说是GUI程序的主窗口
- QDialog 是对话框窗口的基类。对话框主要用来执行短期任务,或者与用户进行互动,它可以是模态的,也可以是非模态的。
- 如果是主窗口,就使用QMainWindow类;如果是对话框,就使用 QDialog类;如果不确定,或者有可能作为顶层窗口,也有可能嵌入到其他窗口中,那么就使用QWidget类。
QMainWindow
QMainWindow继承自QWidget类,拥有它的所有派生方法和属性。
常用方法
![6749c1de44ad420c629551e67419e7bc.png](https://i-blog.csdnimg.cn/blog_migrate/0d4bc6f8f1e10665bb9d43c4e5f19c22.jpeg)
QMainWindow不能设置布局(使用setLayout()方法),因为它有自己的布局。
QWidget
基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口和控件都直接或间接继承自QWidget类。
坐标系统
![56a572a8d827c6773b63b08046140274.png](https://i-blog.csdnimg.cn/blog_migrate/f446f2cc3b8d3e13d602f352cb6c0f57.png)
- 整个屏幕的坐标系统就用来定位顶层窗口的
- 在窗口内部也有自己的坐标系统,该坐标系统仍然以左上角作为原点,从左向右为x轴正向,从上向下为y轴正向,原点、x轴、y轴围成的区域叫作Client Area(客户区),在客户区的周围则是标题栏(Window Title)和边框(Frame)。
最简单的窗口
import
- 窗口和控件都继承自QWidget类,如果不为控件指定一个父对象,那么该控件就会被当作窗口处理
- 如果调用 exit()或主控件被销毁,主循环就会结束。使用 sys.exit()方法退出可以确保程序完整地结束,在这种情况下系统的环境变量会记录程序是如何退出的。
- 如果程序运行成功,那么exec_()的返回值为0,否则为非0。
QLabel
QLabel对象作为一个占位符可以显示不可编辑的文本或图片,也可以放置一个GIF 动画,还可以被用作提示标记为其他控件。纯文本、链接或富文本可以显示在标签上。
继承关系
![95260559431dff9507dca021a607f722.png](https://i-blog.csdnimg.cn/blog_migrate/0d8d9fa3fd5abe945f961f3cef2cce27.png)
常用方法
![1f9cb8f8ddf890513ad200b57eacfd1b.png](https://i-blog.csdnimg.cn/blog_migrate/db8634bc4ea145c40670a49e229df670.jpeg)
常用信号
![c59b20dc32dd199db830fdb845dd5601.png](https://i-blog.csdnimg.cn/blog_migrate/54ca5c45ac2ee44f3945dcb713a81b84.jpeg)
使用QLabel
from
文本框类控件
QLineEdit
QLineEdit类是一个单行文本框控件,可以输入单行字符串。如果需要输入多行字符串,则使用QTextEdit类。
常用方法
![bc5a213e4d60898d7b7eaed4a439e988.png](https://i-blog.csdnimg.cn/blog_migrate/b432bd07679ff439124bca673000cb91.jpeg)
常用信号
![38be55ec84802bf36c30bca5b5a7d261.png](https://i-blog.csdnimg.cn/blog_migrate/0d23d663483abcf2587b379283051ea6.png)
相关掩码
![76d0b849f7f865f41a80bf41c28338fd.png](https://i-blog.csdnimg.cn/blog_migrate/8cf5c978f9544b350ff42b8e97facf0b.jpeg)
示例:
![6a8495aaaa32aa500c92dc602c11d9ff.png](https://i-blog.csdnimg.cn/blog_migrate/bd255ef77e6d656ddeeb5819ddc9f66e.png)
其他
- 在通常情况下,我们会对用户的输入做一些限制,可以通过验证器来进行。常见的验证器有:整型验证器、浮点型验证器及其他自定义验证器。
QTextEdit
QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条。
常用方法
![23aa2d47fc8d5ff65c83a9fd24a4a350.png](https://i-blog.csdnimg.cn/blog_migrate/2cb3467d2f56f1ba5b4e2694b1e29323.jpeg)
教材
![37d04dc489a8eda0d64a4eb69b695843.png](https://i-blog.csdnimg.cn/blog_migrate/f557b9cc6f58f71383b8e257b3f7ac61.jpeg)