零.前言:
作者写这篇博客的目的主要在于巩固PyQt5的基础知识,例如PyQt5的几个核心模块,分别有什么功能,PyQt5的所有控件的使用方法等。
一.PyQt5的常见模块
1.1QtCore:
该模块包含了非GUI的功能设计。
这个模块被用来实现时间,文件和目录,不同数据类型,线程进程等。
(一个使用的例子,我们在QtDesigner中设计的窗口和我们在py中运行的窗口大小不一致,可以使用这个模块的方法来解决。)
1.2QtGui:
该模块主要用于窗口化的系统结构,事件处理,2D绘图,基本图形,字体和文本等。
1.3QtWidgets:
顾名思义,该模块负责提供一套UI元素来创建经典桌面风格用户界面。
1.4QtMultimedia:
该模块用于处理多媒体内容和链接摄像头和无线电功能的API。
1.5QtBlutooth:
该模块用于扫描蓝牙设备,并且和蓝牙进行互动
1.6QtNetwork:
该模块用来网络编程,模块里面包含的类使TCP/UDP客户端/服务端通信更加容易和轻便。
1.7QtXml:
该模块用于解析XML文件。
1.8QtSvg:
该模块用于显示svg文件内容。
1.9QtSql:
该模块提供驱动数据库工作。
1.10QtTest:
该模块提供PyQt5应用的单元测试。
二.一个简单的Qt程序
import sys
from PyQt5.QtWidgets import QApplication, QWidgetif __name__ == '__main__':app = QApplication(sys.argv)w = QWidget()w.resize(1000, 600)w.move(300, 300)w.setWindowTitle('这是一个例子')w.show()sys.exit(app.exec_())
2.1QApplication(sys.argv):
每个应用程序必须创建一个应用程序对象,无论该应用程序在任何时间有几个窗口,都只能有一个QApplication对象。(至于sys.argv有啥用我也不懂,背过算了,搜了大量资料也看不明白是什么意思.)
2.2QWidget():
QWidget是PyQt5中所有控件的基类,同时Qwidget也没有父类,没有父类的部件也被叫做窗口。
2.3resize():
该函数指定了窗口小部件(QWidget)的大小,resize(长,宽),单位是“像素”。
2.4move():
该函数将窗口小部件移动到屏幕上x,y坐标处的位置,也就是应用初次弹出在屏幕里的位置。
2.5setWindowTitle():
该函数顾名思义,设置窗口的标题。
2.6show():
该函数表示在屏幕中显示应用程序,如果不调用show方法,那么应用程序只会被创建但是不会在屏幕中显示。
ps:(一个小部件要现在内存中创建,才能在屏幕中显示。)
2.7sys.exit(app.exec_()):
该函数保证应用程序有一个干净的退出。
其中sys.exit(状态码)直接退出主进程(整个进程)。
而app.exec()是结束窗口进程,但是不结束主进程,即还要执行关闭窗口之后的代码,返回一个状态码。