1 简介
PyQt5
是一套Python绑定Digia QT5应用的框架,是最强大的GUI库之一,适用于Python2和Python3。本系列使用Python 3.6.2
。
PyQt5
做为Python的模块,拥有620多个类、6000个函数和方法。而且是一个跨平台的工具包,它可以运行在所有主流的操作系统,包括UNIX,Windows,Mac OS。PyQt5是双重许可,开发者可以在GPL(通用公共许可证,General public license)和商业许可之间进行选择。
注意,PyQt5并不向下兼容PyQt4。部分改变如下:
- Python模块已经重组。一些模块已经删除(qtscript),有的被分割成子模块(QtGui,QtWebKit)。
- 新的模块作了详细的介绍,包括qtbluetooth,qtpositioning,或enginio。
- pyqt5只支持新型的信号和槽handlig。电话signal()或slot()不再支持。
- pyqt5不支持Qt的API被标记为过时或陈旧的任何部分在QT V5.0。
2 PyQt5 模块
PyQt5
的类被分成了很多模块,包括如下的模块:
- QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
- QtGui:用于窗口系统集成、事件处理、二维图形、基本成像、字体和文本的类。
- QtWidgets:提供了一整套UI元素组件,用于创建经典桌面风格的用户界面。
- QtMultimedia:包含用于处理多媒体内容,通过调用API接口访问摄像头、语音功能。
- QtBluetooth:包含用于扫描设备并与设备连接和交互的类。
- QtNetwork:包含用于网络编程的类库,这些类简化了通过TCP/IP和UDP进行的客户机和服务器的编码,使网络编程更简单、更可移植。
- QtPositioning:包含通过使用各种可能的源(包括卫星、Wi-Fi或文本文件)来确定位置的一些类。
- Enginio:实现了用于访问Qt云服务管理应用程序运行时的客户端库。
- QtWebSo