前言
笔者现在负责一个基于 egret 的旧项目的维护,项目中有大量的重复性的工作以及各式各样的小工具,这些对于新人来说不太友好,有一定的上手难度。偶然的机会笔者了解到 pyside6, 这个pyhton模块,可以很方便的做出GUI( Graphics User Interface 即 图形用户界面 ),页面也算优美,所以笔者萌生了做一个工具集来定制项目中需要的功能。笔者也是刚接触 pyside6,这是笔者在看的视频教程,有兴趣的同学可以去看看。这个专题来记录开发的思路和开发过程中遇到的问题。也希望可以帮到一些想要了解这方面的同学。
环境搭建
电脑操作系统是windows10,使用 vscode作为代码编辑器。
1.安装python
检查一下本机是否安装python (笔者本地已经安装好了python3.11,所有开发都是基于这个版本)
按下
win+r
组合键打开运行程序,输入cmd
,按下回车键打开cmd
输入python --version
按下回车
输出:
python的安装和升级版本网上有大把教程,这里贴一下 python国内下载,附一下网上卸载和安装的教程:
卸载Python
安装Python
2.安装pyside6
先打开cmd窗口
按下
win+r
组合键打开运行程序,输入cmd
,按下回车 以后不再赘述
输入 pip install pyside6
回车,开始安装pyside6,包体比较大,可能耗时比较久。也可以指定国内的源,笔者怒省一小时…
pip install pyside6 -i https://pypi.douban.com/simple
安装好后再确认一下,在 cmd窗口中输入 pip show pyside6
回车,如果能正常打印出版本信息则说明安装成功。
3.安装vscode
安装完成后就可以做开发了。在你喜欢的地方创建一个文件夹 , 打开vscode ,左上角菜单栏点击 文件>打开文件夹
,选择你刚才新建的文件夹, 继续点击文件>新建文本文件
这之后会进入文本文件,点击选择语言 > 输入框输入python > 点击
就可以进行代码编辑了,输入以下代码:
from PySide6.QtWidgets import QApplication,QMainWindow,QLabel
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
label = QLabel("hello everyone!")
self.setCentralWidget(label)
self.show()
if __name__ == '__main__':
app = QApplication([])
wnd = MyWindow()
wnd.show()
app.exec()
Ctrl+s
保存代码,命名为 app.py
。左上角菜单栏 点击 查看>终端
这时候会在文本编辑器的下部打开终端窗口,其实就相当于上边的cmd窗口,可以在这里执行命令。输入 python app.py
回车, 我们第一个简单的带GUI的python程序就运行起来了。
红色区域是终端窗口,绿色区域就是我们的GUI程序
4.安装 PyInstaller
GUI程序在我们的电脑上运行起来了,如果想把开发的这个程序分发给别人使用,还需要将其打包成windows可执行程序,也就是常说的exe。这里要用到python 的工具包 PyInstaller,cmd 窗口中输入 pip install PyInstaller
回车(也可以在上一步的 终端中执行这个操作),等待安装完成。
接下来的操作我们继续在 终端窗口中执行,参考第3步 打开终端窗口,如果你发现终端窗口没办法输入,检查一下刚才打开的GUI程序(第3步截图的白色窗口)是否没有关闭。输入 pip show PyInstaller
确认一下PyInstaller已经安装完成:
终端中执行 pyinstaller --name "Hello" --noconsole --onefile app.py
回车,等待完成后看一下目录结构,我们的exe就生成好了
你可以修改上面命令中 --name后边 双引号中的文本来给你的程序起一个响亮的名字。至此我们开发的GUI程序就完成啦。如果你还有其他需求,可以参考这一篇详细介绍如何修改程序图标、打包成带有外部资源的安装程序等的优秀博文。
5.更新应用程序
在上一步中我们打包exe后,会在目录下生成一个 exe包名.spec
的配置文件,如果我们的代码做了修改,就需要执行pyinstaller Hello.spec
重新打包exe。现在我们做如下更改
label = QLabel("hello!")
修改为
label = QLabel("hello everyone!")
文件保存后,在终端窗口中输入 pyinstaller Hello.spec
回车,等待完成后,运行我们的exe,会发现修改已经生效。
OK,本篇文章到此结束。