【第一章】PyQt5介绍

本系列教程翻译自http://zetcode.com/gui/pyqt5/introduction/,由于水平有限,难免会有疏漏,欢迎大家给予批评指正。

本教程旨在帮助大家学习如何使用PyQt5,本教程所有实例均在Linux下测试通过。

 

关于PyQt5

PyQt5是一套Python绑定Digia Qt5的应用框架。可应用与python2.x及python3.x。本教程选用python3的版本。Qt库是一个最强大的GUI库之一,pyqt5的官网网站是www.riverbankcomputing.co.uk/news。

PyQt5作为python的一个模块,它有620个类和6000个函数和方法,它支持在当前所有主流操作系统下使用,包括Unix、Windows及MacOS。 PyQt5是双重许可的。开发者可以在GPL和社区许可之间进行选择。

 

PyQt5安装

$ sudo pip3 install pyqt5

通过以上命令即可通过pip3安装PyQt5

windows平台建议使用anaconda安装。

 

PyQt5模块

PyQt5的类别可以分为一下几个模块:

  • QtCore
  • QtGui
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest

QtCore模块包含了核心的非GUI功能。此模块可用于处理时间、文件和目录、多种数据类型、流、URL、mime类型、线程或进程。

QtGui模块包含了窗口系统集成、事件处理、2D图形、基本成像、字体和文本。

QtWidgets模块提供了用于创建桌面风格用户接口的一系列的UI元素的类。

QtMultimedia模块包含了处理多媒体内容和访问摄像头及音频的API 的类。

QtBluetooth模块包含了扫描设备和连接交互的类。

QtNetwork模块包含了网络编程类,这个类便于使用TCP/IP和UDP进行客户端和服务端的编码,使得网络编程更加简洁高效。

QtPositioning 模块包含了可以使用多种可能信息来源(包括 卫星、WIFI或文本文件)的方式来确定位置的类。

Enginio模块实现了用于访问Qt云服务托管应用程序运行时的客户端库。

QtWebKitWidgets模块包含了基于WebKit1的Web浏览器实现的类,用于基于QtWidgets的应用程序。

QtXML模块包含了用于处理XML文件的类,这个模块提供了SAX和DOM APIs的实现。

QtSvg模块提供了显示SVG文件内容的类,SVG(可伸缩向量图)是一种描述二维图形和图像应用的语言。

QtSql模块提供了操作数据库的类。

QtTest模块提供了PyQt5应用程序用于单元测试的类。

 

PyQt4 和PyQt5的差异

PyQt5并不支持向下兼容PyQt4,PyQt5有几个重大更新。但是将pyqt4的代码更改为pyqt5并不困难。两个版本的主要差异如下:

  • Python模块已经重组,有一些模块已经被删除(如QtScript),其他一些被分割成子模块(如QtGui、QtWebKit)。
  • PyQt5引入了一些新的模块。(如QtBluetooth、QtPositioning、Enginio等)
  • PyQt5只支持新型的信号和槽handing,SIGNAL()及 SLOT()不再支持。
  • PyQt5不支持在Qtv5.0中标记为过时或弃用的Qt API的任何部分。

 

 

 

 

 

 

 

你可能感兴趣的:(PyQt5系列)