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_())

量化IT技术QQ群:748930268