请选择 进入手机版 | 继续访问电脑版

Python pyQt5 从零开始 新手上路(第一篇 环境和配置)

[复制链接]
卓小兔 发表于 2021-1-2 19:43:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
目次



1. 前言

博主是一名有几年开发履历的java社畜,本意是想给朋侪做一个可以资助他处置惩罚表格的小工具,由于之前自学了python,而且还未有过gui的开发履历,所以有了使用pyQt5来开发的想法。
网上关于pyQt5的资料实际上也不少,但多数是对某个详细问题的讨论,比力零星。而我在写代码的过程中常常遇到各种各样的问题,这使得我常常在数十个网站上查询资料,很不友好。为此我决定写这篇博客,详细记载一下从零到一的过程,也希望以此抛砖引玉,向大佬们学习
以下是demo演示

可以看到这个朴素无华的工具效果图……
虽然很大抵,但是我需要的根本功能照旧实现了。demo的内容大抵包罗:事件的触发、文件读取写出、进度条异步线程和信号等等,作为第一个gui项目内容应该足够了,业务逻辑的代码根据功能差别也可以随意替换,算是迈出了第一步
1.1 注意事项

这篇博客大概适合以下老哥阅读:


  • 有一些python根本
  • 会装python情况和第三方库安装
  • 根本没使用过大概不太懂pyQt5开发
就像题目所说的那样,这篇博客是雷同于新手教程的东西,虽然写的是从零开始,但是不筹划过多先容关于情况和软件安装的相关问题(这方面的教程确实太多了)。别的如果你已经是python或pyqt的老手了,我不确定我写的东西会不会对你有用,固然也接待留下意见
2. 准备工作

2.1 关于情况



  • Python:Python 3.7.9 Anaconda 情况
  • windows 10
  • IDE: Pycharm
  • PyQT5 + QtDesigner
2.2 安装pyqt库

2.2.1 新建虚拟情况(已经有python情况了跳过此步调)

以管理员身份运行Anaconda Navigator,进入CMD Prompt

输入下面的下令创建一个python3.7版本的虚拟情况,情况名为pygui。这里的pygui可以更改
  1. conda create -n pygui python=3.7
复制代码
出现如下界面输入y继续安装,即可乐成安装

安装完成后输入下面的语句查抄情况是否安装乐成
  1. conda env list
复制代码
如图所示,名为pygui已经乐成安装

输入下面的语句激活pygui情况(可以明白为切换到pygui情况下)
  1. activate pygui
复制代码
如图所示,当前情况由base切换到pygui虚拟情况

至此,新建虚拟情况就算是乐成了。这部分与博客内容无关,因此不外多赘述
2.2.2 安装pyqt的包

注:如果是非Anaconda情况把下文中出现的conda xxx下令替换为pip xxx
使用下令安装PyQt5
  1. pip install PyQt5
复制代码
下图为正在安装的界面,如有Proceed输入y。安装的速度取决与网速和源,我用的清华源也超时了好反复,多试反复如果依然超时发起更换源大概设置超时时间

安装完成后输入下面的下令查抄包的安装情况
  1. conda list
复制代码
应该有下图中的包

python 3.5以上版本安装乐成后还需安装pyqt5-tools
  1. pip install pyqt5-tools
复制代码
安装乐成后虚拟情况的库如下图所示(这里根据版本差别,包的数量和名称大概会略有区别,只要安装乐成了一般不影响反面使用)

启动Qtdesigner,直接输入designer下令即可启动Qt设计师
  1. designer
复制代码
如下图所示,如果无法启动则说明安装有问题。启动乐成后先不要关闭下令窗口,反面编译ui文件还会用到

2.2.3 使用designer新建demo

创建MainWinodw 界面根本布局如图所示

在组件菜单里选择Label拖动到画布里
双击Label组件进入编辑模式
输入文本信息按回车就编辑乐成了
Ctrl + S重定名并生存到桌面

现在桌面上应该有一个.ui范例的文件了,下一步需要将ui文件编译为py文件。
打开之前的下令窗口,使用cd下令切换到ui文件所在的目次下,我这里是桌面
使用下面的下令编译ui文件。注意这里export.ui是我刚才生存的ui文件,如果文件名不是export.ui需要自行替换,export.py是将要生成的py文件,发起设置为与ui文件相同的名称
  1. pyuic5 -o export.py export.ui
复制代码
执行乐成后当前目次下应该有一个py文件了,如下图所示

如果上面的步调出现错误大概率是pyqt包安装问题
2.3 在pycharm中设置情况和pyqt插件

1. 关于情况,使用差别的IDE则需要差别的步调,只要能让项目在新建的pygui情况下运行就行
2. pyqt的插件仅仅是方便在pycharm中使用pyqt的功能,使用下令也能到达相同的效果
2.3.1 新建项目使用虚拟情况

启动pycharm ——> New Project 操纵步调如下图所示

在情况选择界面选择conda虚拟情况

创建

2.3.2 设置qt插件

项目创建完毕后开始设置qt插件
点击File ——> Setting
在弹出界面中选择 Tools下的 External Tools 举行设置,如下图所示

在弹出的界面中举行如下设置,此为Designer设置

设置如下
  1. Name: QtDesignerGroup: QtProgram: xxxxx\xxxxxx\designer.exeWorking Directory: $ProjectFileDir$
复制代码
这里重点说一下第三步
Program填写designer.exe的绝对路径,这里的路径因人而异,如果跟我一样是使用Anaconda创建的虚拟情况那么路径应该跟下面这条路径雷同
  1. C:\ProgramData\Anaconda3\Library\bin\designer.exe
复制代码
如果是使用系统的python情况那么应该雷同于下面这条
  1. C:\Users\xxxx\AppData\Local\Programs\Python\Python37\Lib\site-packages\pyqt5-tools\designer.exe
复制代码
设置完成后可在菜单栏 Tools ——> Qt ——> QtDesigner 打开designer,如果无法打开则说明设置有误,如下

设置Pyuic,如法炮制

设置如下
  1. Name: pyUICGroup: QtProgram: xxxxx\xxxxxx\pyuic5.exeArguments: $FileName$ -o $FileNameWithoutExtension$.pyWorking Directory: $FileDir$
复制代码
同样,这里的Program也需要根据自己的路径修改,Anaconda情况雷同于:
  1. C:\ProgramData\Anaconda3\envs\pygui\Scripts\pyuic5.exe
复制代码
如果是使用系统的python情况那么应该雷同于下面这条
  1. C:\Users\xxxx\AppData\Local\Programs\Python\Python37\Scripts\pyuic5.exe
复制代码
设置完成后将之前我们生成的ui文件拷贝到项目中,选中ui文件,再使用菜单栏启动pyuic5编译ui文件,如下图所示

注意:一定要选中了ui文件再运行PyUic
2.3.3 运行项目

py文件已经可以大概编译出来,接下来就是运行了。
打开我们刚刚编译好的export.py会发现内里没有步伐入口的代码,这是因为PyUic只会生成在designer中界说的东西,所以还需要到场步伐入口的代码。
这里我发起另起一个main.py作为步伐入口和业务逻辑的实现,这样就可以实现UI和业务逻辑分离,否则一旦修改了UI重新生成绩会将之前的py文件全部覆盖,十分不友好
所以我们新建main.py 到场步伐入口相关的代码
我的main.py代码如下
注意:xxxxx为刚才生成的py文件名称,我这里是export,根据情况替换
  1. import sysfrom PyQt5.QtWidgets import QApplication, QMainWindowimport xxxxxclass Example(QMainWindow):    def __init__(self):        self.app = QApplication(sys.argv)        super().__init__()        self.ui = xxxxx.Ui_MainWindow()        self.ui.setupUi(self)        # 初始化        self.init_ui()    # ui初始化    def init_ui(self):        # 初始化方法,这里可以写按钮绑定等的一些初始函数        self.show()# 步伐入口if __name__ == '__main__':    e = Example()    sys.exit(e.app.exec())
复制代码
在这里我新建了Example类,借由操纵Example来操纵export里的Ui_MainWindow对象,这样做的目的是将业务逻辑和函数绑定相关工作全部交给Example,将UI、步伐入口、业务逻辑完全分离,方便拓展,这样也符合OOP思想。
现在我们终于可以运行这个qt项目了,直接运行main.py文件应当能看到之前新建的ui界面,如图所示

over

至此,需要的准备工作就竣事了,下一篇开始写详细的工具制作流程
别的

下一篇 根本功能

来源:https://blog.csdn.net/weixin_45216118/article/details/111912613
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )