听说点进蝈仔帖子的都喜欢点赞加关注~~
老规矩,官网附上,建议大佬直接看官网
https://pypi.org/project/PyQt5/
鸣谢:
http://code.py40.com/pyqt5/14.html
简单介绍
pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站http://www.riverbankcomputing.co.uk/news。
pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。
模块组成:
pyqt5的类别分为几个模块,包括以下:
QtCore
QtGui
QtWidgets
QtMultimedia
QtBluetooth
QtNetwork
QtPositioning
Enginio
QtWebSockets
QtWebKit
QtWebKitWidgets
QtXml
QtSvg
QtSql
QtTest
QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
QtGui包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。
QtMultimedia包含的类来处理多媒体内容和API来访问相机和收音机的功能。
Qtbluetooth模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
Qtpositioning包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
Enginio模块实现了客户端库访问Qt云服务托管的应用程序运行时。
Qtwebsockets模块包含实现WebSocket协议类。
QtWebKit包含一个基于Webkit2图书馆Web浏览器实现类。
Qtwebkitwidgets包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
QtXml包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
QtSvg模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
QtSql模块提供操作数据库的类。
QtTest包含的功能,使pyqt5应用程序的单元测试
pyqt中文教程,有兴趣可以去看看。
http://code.py40.com/pyqt5/14.html
下载与安装PyQt5
https://github.com/PyQt5
https://pypi.org/project/PyQt5/#files
安装开发环境
由于PyQt5.9不再提供常用的Qt工具,如图形界面开发工具Qt Designed,国际化翻译工具Liguist,所以需要安装常用的Qt工具。
安装方法一:命令安装:
安装命令:
pip install PyQt5-tools -i https://pypi.douban.com/simple
安装方法二:安装包安装:
https://pypi.org/project/pyqt5-tools/#files
设置环境变量
安装好PyQt5和PyQt5-tools成功后,还需要配置相关的环境变量。
1、可以在python的安装目录Lib\site-packahes目录下看到安装包。比如我的python3.9安装在了D:\Soft_Install\python39下。
我们需要在系统环境变量中添加以下变量值
D:\python39\Lib\site-packages\pyqt5_tools;
测试:
import pyqt5
然后输入import PyQt5,如果运行成功,说明安装成功
PyCharm配置
file–>setting–>tools–>external tools添加
Name:可自己定义
program:Qt Designer的安装路径
parameter:不填
directory: $FileDir$
PyUIC
Name:可自己定义
program:pyuic的安装路径
parameter:$FileName$ -o $FileNameWithoutExtension$.py
directory: $FileDir$
vscode配置
首选项–>设置–>搜索pyqt,最后一项填写designer路径
系统会自动配置pyuic,该工具是用于将Qt Designer工具开发完成的.ui文件转化为.py文件。