pyqt5 是python用来制作GUI程序的一个包。
pyqt5 使用:
使用时先用QtDesigner设计一个ui界面文件,然后用在cmd里用pyuic5 -o Window.py untitled.ui
命令将ui文件转为py文件。
在主程序py文件里调用生成的py界面文件,对界面上的控件进行操作。
主程序有一个编写套路,照着往里面加就行。
1 | import sys, os |
控件操作比如获取文本框输入、点击按钮执行某个函数、按回车键执行某个函数、显示控件上展示文本或图片、打开文件按钮。
将py程序打包成exe
写的界面程序一般都想让别人用用,但是别人电脑上不一定有相关python环境,所以转成exe会方便很多。
pyinstaller是一个将py转成exe常用的包。
用pyinstaller打包成exe后文件太大,我写的一个简单的程序就有300多M,使用upx压缩也没用,它应该是自带upx压缩了。
是因为它在打包时会将很多无关的包一块打包进来,虽说可以修改spec文件里exclude选项让一些库不参与打包,但是并不能确定哪些是必要的。
比较好的方法是用pipenv创建虚拟环境,只安装程序必要的一些库,然后打包成exe,这样就不会将很多无关的包也打包进来。试了一下,能将300多M减小到了60多M。
步骤:
1.安装pipenv:pip install pipenv
2.选择一个文件夹执行pipenv –three ,利用本机的python3版本创建虚拟环境
3.执行pipenv shell 进入虚拟环境,进入虚拟环境后执行的命令才使用的是虚拟环境里的,与普通cmd里的环境互不干扰。修改目录下的pipfile里的安装源,换成阿里或者清华这些国内的,执行pipenv install 包名,安装用到的包。
同时需要安装pyinstaller。
pip list 查看虚拟环境里安装的包。
(8条消息) Pipenv使用入门_Hanniel的博客-CSDN博客
4.在虚拟环境里执行pyinstaller -F -w main.py,将main.py打包成exe。加图标时 -i logo.ico。
-F 打包成单个exe文件,-w 打开exe时不打开命令行。
但是打包成的单个的exe打开时比较慢,没有不单个时打开的快。
其他:
将控件变成透明:
styleSheet添加background:transparent;
设置背景:
图片来源:(8条消息) Qt designer 中设置背景图片,以及子窗体不继承父窗体背景的方法_MacwinWin的博客-CSDN博客