PyQt5的介绍
这个是翻译的英文版的PyQt5的中文教程。这篇教程的目的是让你开始使用PyQt5组件。这个教程中的例程都已经在Linux中测试过了。
关于PyQt5
PyQt5是一套绑定Qt5的应用程序框架。他在Python 2.x和3.x中都是可用的。该教程使用的是Python3.x。Qt库是一套最有用的GUI库。PyQt5的官方主页
www.riverbankcomputing.co.uk/news
。PyQt5是由Riverbank Computing开发的。
PyQt5是作为一套Python模块实现的。他已经超过620个类和6000个函数与方法。他是一个运行在所有主流操作系统上的多平台组件,包括Unix,Windows和Mac OS。PyQt5是双重许可的。开发者可以选择GPL和商业许可。
PyQt5安装
sudo pip3 install pyqt5
我们可以使用pip3
安装PyQt5。
PyQt5模块
PyQt5的类被分成了多个模块,包括下面的:
- QtCore
- QtGui
- QtWidgets
- QtMultimedia
- QtBluetooth
- QtNetwork
- QtPositioning
- Enginio
- QtWebSockets
- QtWebKit
- QtWebKitWidgets
- QtXml
- QtSvg
- QtSql
- QtTest
QtCore
模块包含核心的非GUI功能。该模块被用于时间,文件,目录,多个文件类型,流,URLS,mime类型,线程或进程的操作。QtGui
包含窗口系统实现,事件处理,2D图形,基本图片,字体和文本的类。QtWidget
模块
包含着提供一套UI原色来创建经典桌面用户接口的类。QtMultimedia
包含着处理多媒体内容和访问摄像和收音机功能API的类。
QtBluetooth
模块包含着扫描设备并且与他们连接和交互的类。QtNetwork
模块包含着网络编程的类。这些类能够促进TCP/IP和UDP客户端与服务器的编码,他使得网络编程变得更加简单与轻巧。QtPositioning
包含着通过使用一切
可能的资源,包括卫星,Wi-Fi或者是文本文件来决定位置的类。Enginio
模块实现了访问Qt云服务管理服务运行时的客户端。QtWebSockets
模块包含着实现WebSocket协议的类。QtWebKit
包含着基于WebKit2库的网页浏览器实现的类。 QtWebKitWidgets
包含着基于WebKit1库的网页浏览器的实现的类。
QtXml
包含着操作XML文件的类。该模块提供了SAX和DOM API的实现类。QtSvg
提供了用于显示SVG文件内容的类。可缩放矢量图形(SVG)是以XML描述二维图形和图形应用的语言。QtSql
模块提供了数据库操作的类。QtTest
包含着
为PyQt5应用进行单元测试的功能。
PyQt4和PyQt5的不同点
PyQt5是不对PyQt4向后兼容的;在PyQt5上有很多重大的改变。然而,使旧的编码适应新的库是并不困难的。不同点如下:
- Python模块已经被重新组织了。一些模块已经被丢弃了(QtScript),其他的已经被分成子模块了(QtGui,QtWebkit)。
- 新的模块已经被引入了,包括
QtBluetooth
,QtPositioning
或Enginio
。 - PyQt5仅仅支持新形势的信号和槽处理。
SIGNAL()
和SLOT()
的调用已经不被支持了。 - 在Qt v5.0中被标注过时的API,在PyQt5中已经不被支持了
Python
Python是一个通用的,动态的,面向对象的编程语言。Python编程语言设计的目的是强调编程人员的创造性和可读性。Python
刚开始是被Guido van Rossum开发。他在1991年首次被发行。Python是被ABC, Haskell, Java, Lisp, Icon, and Perl
语言所激发。Python是一个高级的,一般用途的,多平台的,解释型语言。Python是一个简约的语言。它最明显的特征之一是
他不使用分号或括号,他使用缩进来代替。当前Python有两个主要的分支:Python 2.x和Python 3.x。Python 3.x打破了之前
Python发行的向后兼容。他被创建来纠正语言上的一些设计缺陷并使得语言更加的清洁。Python是被来自世界各地的一大批志愿者
维护的。Python是一个开源软件。Python是那些想要学习编程语言的很好的开始。
这个教程使用Python 3.x版本。
Python编程语言支持多个编程风格。他并不强制编程者一个特定的范式。Python支持面向对象和面向过程编程。对函数式编程也有
有限的支持。