PyQt5快速入门(一)PyQt5简介

一、PyQt5简介

1、PyQt5简介

PyQt是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。
官方网站:www.riverbankcomputing.com
PyQt5提供GPL版和商业版证书,自由开发者可以使用免费的GPL许可,如果需要将PyQt用于商业应用,则必须购买商业许可。

2、PyQt5的特性

PyQt5特性如下:
(1)基于高性能的Qt的GUI控件集。
(2)能够跨平台运行在Linux、Window和Mac OS系统上。
(3)使用信号槽机制进行通信。
(4)对Qt库进行完全封装。
(5)可以使用成熟的IDE进行界面设计,并自动生成可执行的Python代码。
(6)提供一整套种类齐全的窗口控件。

3、PyQt4与PyQt5的区别

PyQt5与PyQt4区别如下:
(1)重新组合模块,PyQt5中一些模块已经被废弃(QtScript),有些被拆分为两个子模块(QtGui,QtWebKit)。
(2)添加新模块,如QtBluetooth,QtPositioning和Enginio。
(3)废弃SINGAL()和SLOT(),使用新的信号槽处理方式。
(4)不再支持所有被标记为废弃的或不建议使用的Qt API。

二、PyQt5模块

PyQt5是由一系列Python模块组成,有超过620个类,6000个函数和方法,主要模块如下:
(1)QtCore包含核心的非GUI的功能。主要与时间、文件、文件
夹、各种数据、流、URLs、mime类文件、进程、线程一起使用。
(2)QtGui包含窗口系统、事件处理、2D图像、基本绘画、字体和文字类。QtWidgets类包含一系列创建桌面应用的UI元素。
(3)QtMultimedia包含处理多媒体和调用摄像头API的类。
(4)QtBluetooth模块包含查找和连接蓝牙的类。
(5)QtNetwork包含网络编程的类,能让TCP/IP和UDP开发变得更加方便和可靠。
(6)QtPositioning包含定位的类,可以使用卫星、WiFi甚至文本。
(7)Engine包含通过客户端进入和管理Qt Cloud的类。
(8)QtWebSockets包含WebSocket协议的类。
(9)QtWebKit包含一个基WebKit2的web浏览器。
(10)QtWebKitWidgets包含基于QtWidgets的WebKit1类。
(11)QtXml包含处理xml的类,提供SAX和DOM API的工具。
(12)QtSvg提供显示SVG内容的类,Scalable Vector Graphics(SVG)是一种是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。
(13)QtSql提供处理数据库的工具。
(14)QtTest提供测试PyQt5应用的工具。

三、PyQt5实例

import sys
import os
from PyQt5 import QtWidgets, QtCore

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    widget = QtWidgets.QWidget()
    widget.resize(800, 600)
    widget.setWindowTitle("Hello, PyQt5")
    widget.show()

    sys.exit(app.exec_())