Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序


一、安装运行环境

    Anaconda (这里包含了Qt Designer、PyUIC5、PyRCC5)

    PyCharm  (激活)

    Pyinstaller (pip install pyinstaller 或者 pip3 install pyinstaller)

    PyQt5  (pip install pyqt5 或者 pip3 install pyqt5)

    Qt Designer:Qt设计师,设计界面

    PyUIC5:设计的界面转换成 xxx.py

    PyRCC5:资源文件转换成 xxx.py

    Pyinstaller:打包 xxx.py 为 xxx.exe


二、设置PyCharm

    File-->Setting-->External Tools-->+(添加)

    Name:QtDesigner

    Program:D:\ProgramData\Anaconda3\Library\bin\designer.exe (Anaconda安装目录)

    Working  directory:$FileDir$

    Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第1张图片

    再次添加

    Name:PyUIC

    Program:D:\ProgramData\Anaconda3\Library\bin\pyuic5.bat (Anaconda安装目录)

    Argument:$FileName$ -o $FileNameWithoutExtension$.py

    Working  directory:$FileDir$

    Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第2张图片

    再次添加

    Name:PyRcc

    Program:D:\ProgramData\Anaconda3\Library\bin\pyrcc5.bat (Anaconda安装目录)

    Argument:$FileName$ -o $FileNameWithoutExtension$_rc.py

    Working  directory:$FileDir$

    Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第3张图片

    最终

    Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第4张图片


三、打开Qt Designer

    PyCharm-->Tools-->External Tools-->QtDesigner

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第5张图片

创建一个窗体

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第6张图片

设计一个窗体,用于演示

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第7张图片

将设计好的窗体另存为Login.ui并保存到工程目录,PyCharm-->Login.ui-->右键-->External Tools-->PyUIC

会在当前目录下生成一个Login.py的文件

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第8张图片

新建一个 main.py 文件,将以下代码写入其中

#!/usr/bin/env python
# -*- coding:utf-8 -*-

'''
登陆窗口
'''

__author__ = 'YXQ'

import  sys
import Login
from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWindow = QMainWindow()
    ui = Login.Ui_MainWindow()
    ui.setupUi(mainWindow)
    mainWindow.show()
    sys.exit(app.exec_())
运行 main.py 

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第9张图片


四、打包成可执行文件 exe

    PyCharm-->Show in Explorer 打开文件所在目录

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第10张图片


在文件夹空白处按住 Shift-->鼠标右键-->在此处打开命令窗口

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第11张图片


输入 pyinstaller -F -w main.py

Python3.x 使用 PyQt5 设计界面并打包成 Windows 应用程序_第12张图片


找到同目录下的 dist-->main.exe 运行看一下结果

五、完结

    附 pyinstaller 参数

  • -F , -onefile: 指明该选项,将会生成一个总的exe文件,所有的文件都会被添加到这一个中。

  • -D, -onedir: 产生一个目录来盛装用于分发的exe文件,也比较方便。

  • -K, -tk: 在部署的时候,包含TCL/TK,这对于有图形界面的python文件比较的适用。

  • -a, -ascii: 不包含编码,因为在支持Unicode的Python版本上默认包含所有的编码,这个选项基本上不怎么用得到。

  • -d, -debug: 产生Debug版本的可执行文件。

  • -w, -windowed, -noconsole: 适用Windows子系统执行,当exe文件运行的时候,不会出现命令行CMD窗口。(因为是windows子系统,所以只在windows平台下有效。)

  • -c, -nowindowed, -console: 与上相反,出现CMD窗口,辅助用户操作。

  • -s, -strip: 这个参考别人的话为“可执行文件和共享库将run through strip,注意Cygwin的strip往往使得普通的win32DLL无法使用”。

  • -X, -upx: 压缩方式,如果有UPX安装,则会压缩源文件来执行。

  • -o DIR, -out=DIR: 指定DIR作为exe的生成目录,如果未指定,默认为pyinstaller的解压目录,且会根据python文件创建出同名的目录来保存生成的exe文件。

  • -p, DIR, -path=DIR: 设置导入的环境变量路径,windows下英文的分号分隔,也可以使用多个-p选项来设置导入多个路径(其实这个选项有点鸡肋,分发版的话基本上不怎么用得到)。

  • -icon=: 将file.ico添加为exe文件的图标(可以自定义,注意为ico文件,否则格式不正确的话会出错的)。

  • -icon = : 原理同上(只是把file.exe文件的第N个图标作为资源来使用,不怎么用得到)。


你可能感兴趣的:(Python)