GUI库及PyQt5的安装和配置详解 Qt Designer图形界面开发工具

鳄鱼君

发表文章数:531

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python教程 » GUI库及PyQt5的安装和配置详解 Qt Designer图形界面开发工具

这篇文章主要介绍如何使用PyQt5实现软件开发。在安装之前,需要介绍一下GUI库的相关内容,做了解。

GUI库

Python提供了很多图形开发界面的库(GUI库),比较常用的有以下几个:
● Tkinter(也叫Tk接口)是Tk图形用户界面工具包标准的Python接口。Tk是一个轻量级的跨平台图形用户界面(GUI)开发工具,可以运行在大多数UNIX平台、Windows系统和Mac系统中。
● wxPython是Python语言的一套优秀的GUI图形库,允许Python程序员很方便地创建完整的、功能键全的GUI用户界面。wxPython作为优秀的跨平台GUI库,以wxWidgets的Python封装和Python模块的方式提供给用户。
● PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3,PyQt4支持Qt4,PyQt5支持Qt5。PyQt的首次发布是在1998年,当时叫作PyKDE,因为那时SIP和PyQt没有分开。PyQt是用SIP写的,提供GPL版和商业版。
● Kivy是一个开源工具包,是能够使用相同源代码创建的程序,并且可以跨平台运行。它主要关注创新型用户界面开发,如多点触摸应用程序。Kivy还提供一个多点触摸鼠标模拟器。Kivy当前支持的平台包括Linux、Windows、Mac和Android,拥有能够处理动画、缓存、手势和绘图等功能。Kivy还内置许多用户界面控件,如按钮、摄影机、表格、Slider和树形控件等。
● Flexx是一个纯Python工具包,用来创建图形化界面应用程序,使用Web技术进行界面的渲染。可以用Flexx来创建桌面应用,同时也可以导出一个应用到独立的HTML文档。因为使用纯Python开发,所以Flexx可跨平台使用。只需要有Python和浏览器,Flexx就可以运行。

PyQt5安装

PyQt5是一套绑定Qt5的应用程序框架,由Python语言实现,已经有超过620个类和6000个函数与方法。PyQt5是一个运行在所有主流操作系统上的多平台组件。

使用pip命令直接安装:pip install PyQt5即可!

Qt Creator

完成PyQt5的安装后,接着安装图形界面的开发工具,这可以帮助我们快速开发图形界面。如果对PyQt5比较熟悉,可以使用纯Python代码开发。

开发工具有Qt Creator与Qt Desinger,两者都能实现图形界面的开发。Qt Creator包括项目生成向导、高级的C++代码编辑器、浏览文件及类的工具,集成了Qt Desinger、Qt Assistant、Qt Linguist、图形化的GDB调试前端和qmake构建工具等。

鳄鱼君Ba这里使用Qt Desinger作为图形界面开发工具。Qt Desinger仅支持Windows系统,可以使用pip命令安装:pip install PyQt5Desinger

安装Qt Desinger后,可以在Python的安装目录:\Lib\site-packages\QtDesigner找到designer.exe程序,双击并打开。如果使用的是pycharm,可以打开External Libraries寻找。

搭建开发环境

安装PyQt5和Qt Designer之后,接下来需要在pycharm配置开发环境。由于我们使用Qt Designer创建并生成图形界面文件,文件以ui为后缀,在Python中是无法识别该文件的,需要将ui文件转成py文件。

配置步骤如下:
步骤01 单击“File”里面的“Settings”,找到“Tools”里面的“External Tools
步骤02 单击“Tools→External Tools”下方的“+”,新建一个Tool,输入信息


Program的内容是Python安装目录的python.exe,这是Python解释器,如果这个路径错误,将ui转换为py文件,会报错找到不到: Error while finding module specification for ‘PyQt5.uic.pyuic’ (ModuleNotFoundError: No module named ‘PyQt5’)
Parameters是将ui文件转换为py文件的命令:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory是转换后生成文件的保存路径


GUI库及PyQt5的安装和配置详解 Qt Designer图形界面开发工具

配置PyChram主要是将ui文件快速转换成py文件,不是一定要配置PyChram才能转换文件,也可以在CMD(终端)界面运行Parameters中的命令行来实现转换。

python -m PyQt5.uic.pyuic xx.ui -o xx.py
先进到C:\python\pkgs\pyqt-5.9.2-py37h6538335_2\Library\bin里面然后执行

完成了PyQt5和Qt Designer(Qt Creator)的安装,并在PyChram中配置了文件转换工具,接下来开始讲解软件开发。

项目实战

这篇文章主要介绍微博实战项目,在Python玩转微博的基础上进行。主要是将热门微博爬取和微博发布的功能以软件的形式展示,整个软件一共有4个软件界面,每个界面功能说明如下:

(1)软件主界面。爬虫软件的启动界面,界面共有三个按钮:发布、采集和相关服务,三个按钮分别进入不同的功能界面。
(2)相关服务界面。相关服务是让用户设置验证码打码识别及代理IP服务。由于微博登录可能出现验证码识别,因此需要设置第三方的验证码识别服务。此外,软件还支持多个微博账号批量发布微博,设置代理IP服务防止微博服务器检测并查封微博账号。
(3)微博采集界面。通过关键词搜索相关的热门微博,并根据软件上的设置进行爬取。软件上设有微博账号密码、采集内容(即关键词)、采集选项以及采集页数,采集后的微博信息显示在软件右侧的表格。
(4)微博发布界面。支持微博内容的编辑和发布,内容编辑可在软件的右侧的表格里进行,同时支持CSV文件的导入和导出;软件的左侧是软件功能:服务验证、文件通道、内容编辑、发布间隔以及定时发布。

以上述是整个软件的4个界面,每个界面所实现的功能看似简单,但实现过程还是相当复杂的。不仅要熟练PyQt5开发,还要将爬虫的功能嵌入到软件里,通过软件来控制爬虫的爬取方式。整个项目的文件目录共有16个文件或文件夹,每个文件或文件夹的作用说明:

  1. ico文件夹:存放软件的界面图片,例如背景、按钮图标
  2. temp文件夹:存放软件的CSV文件和配置文件
  3. collect.py:微博采集功能代码,按钮的信号和槽(触发事件)
  4. main.py:主界面的功能代码,软件的运行文件
  5. service.py:相关服务的功能代码,例如设置代理IP和验证码识别的用户信息
  6. release.py:微博发布的功能代码,设置微博发布方式,例如定时发布,带图片发布
  7. weibo.py:定义微博登录、发布和采集的爬虫函数
  8. weibo_collect.py:微博采集的界面设计,代码由weibo_collect.ui转换而成
  9. weibo_main.py:主界面的界面设计,代码由weibo_main.ui转换而成
  10. weibo_service.py:相关服务界面设计,代码由weibo_service.ui转换而成
  11. weibo_release.py:微博发布的界面设计,代码是由weibo_release.ui转换而成
  12. weibo_verify_code.py:第三方的验证码识别接口,用于识别用户登录验证码
  13. weibo_collect.ui:微博采集的界面设计,由Qt Desinger生成
  14. weibo_main.ui:主界面的界面设计,由Qt Desinger生成
  15. weibo_service.ui:相关服务的界面设计,由Qt Desinger生成
  16. weibo_release.ui:微博发布的界面设计,由Qt Desinger生成

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《GUI库及PyQt5的安装和配置详解 Qt Designer图形界面开发工具》 发布于2020-06-12

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

8 + 8 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册