PyCharm下PyQT4+PyInstaller的使用
来源:互联网 发布:新闻源软件 编辑:程序博客网 时间:2024/06/05 05:38
上一篇中讲了如何配置开发环境,今天讲一下在这个配置下如何进行简单界面的开发及打包。
本文将采用python直接调用QT Designer生成的.ui文件来产生界面。
- 在PyCharm中新建一个工程
- 新建一个test.py文件在工程中。可以使用如下的类似模板的文件内容。只需替换qtCreatorFile中的ui文件路径即可
import sysimport osfrom __future__ import divisionfrom PyQt4 import QtCore, QtGui, uic# Define function to import external files when using PyInstaller.def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyInstaller """ try: # PyInstaller creates a temp folder and stores path in _MEIPASS base_path = sys._MEIPASS except Exception: base_path = os.path.abspath(".") return os.path.join(base_path, relative_path)qtCreatorFile = "ui\example.ui" # your ui file pathUi_MainWindow, QtBaseClass = uic.loadUiType(resource_path(qtCreatorFile))class MyApp(QtGui.QMainWindow, Ui_MainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) Ui_MainWindow.__init__(self) self.setupUi(self)if __name__ == "__main__": app = QtGui.QApplication(sys.argv) window = MyApp() window.show() sys.exit(app.exec_())
- 使用QT Designer生成ui文件,保存到工程中
- 使用PyInstaller进行打包, PyInstaller的安装自行百度吧,
这里是相关参数的说明
usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--add-data <SRC;DEST or SRC:DEST>] [--add-binary <SRC;DEST or SRC:DEST>] [-p DIR] [--hidden-import MODULENAME] [--additional-hooks-dir HOOKSPATH] [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES] [--key KEY] [-d] [-s] [--noupx] [-c] [-w] [-i <FILE.ico or FILE.exe,ID or FILE.icns>] [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--win-private-assemblies] [--win-no-prefer-redirects] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL] [--upx UPX] scriptname [scriptname ...]
例如下面这条命令,则将程序打包成一个单文件。
pyinstaller -F -w test.py
参数说明:-F 单文件模式 -w 不显示cmd窗口
不加参数则是单文件夹模式,生成的文件及.exe都会在一个文件夹下,默认是在dist目录下
- 上一条命令执行后则会在.py的相同目录下生成同名的.spec文件,可以在这个文件中进行一些配置。以后打包就可以直接使用如下命令
pyinstaller test.spec
- 在spec配置中一个地方的配置比较重要,关系到打包后的程序能否正常运行。
a = Analysis(['test.py'], pathex=['C:\\PythonProjects\\demo'], binaries=[], datas=[('example.ui', 'ui')], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher)
就是这句datas=[(‘example.ui’, ‘ui’)] 需要手动添加,第一个参数是当前工程中ui文件的相对路径,第二个参数是打包后ui文件要放入的文件夹,如果想放在根目录下 可以使用”.”, 这里的配置与test.py 中的ui文件的读取代码是对应的,要保持一致。
小结:这样就可以随时根据需要修改ui文件了,而不需每次修改完UI后都要手动将ui文件转换为py文件。有一个地方需要注意一下,就是如果重新执行pyinstaller test.py 则会覆盖spec配置中的datats的设置。但生成spec后就可以用 pyinstaller test.spec进行打包了,spec中都会有相关的参数配置,icon等都可在这里进行设置。
具体可参考pyinstaller的官方文档:点击进入
0 0
- PyCharm下PyQT4+PyInstaller的使用
- 使用pyinstaller发布pyqt4程序
- Pycharm集成PyQt4并使用
- Pycharm集成PyQt4并使用
- Windows下PyInstaller的使用教程
- 用pyinstaller打包PyQt4程序遇到的问题及解决办法
- python pyqt4的安装与pyinstaller打包python应用
- 使用pyInstaller打包python下的sklearn工程
- CentOS6.5安装PyQt4并使用Pycharm开发
- PyQt4+Anaconda3+PyCharm配置
- PyCharm + PyQt4 环境搭建
- Windows下安装PyQt4+python2.7+(nltk+wordcloud+jieba+pyinstaller打包)——词频分析软件
- Windows下pycharm使用theano的方法
- Windows下PyQt4的安装
- Windows下PyQt4的安装
- Windows下PyQt4的安装
- Windows 下 PyQt4 的安装
- linux下使用pyinstaller打包python脚本
- Caffe源码解读:防止梯度爆炸的措施-梯度裁剪
- LoadRunner基础入门教程
- 图解MapReduce工作流程
- js 锚点控制,跳转 和iframe 嵌入页面 兼容
- Linux文件系统之一
- PyCharm下PyQT4+PyInstaller的使用
- Eclipse刚下好,代码没问题,就是运行不起来
- qt之tcp(二)
- Stack源码分析
- springMVC 使用 goouploader 插件进行文件批量上传
- docker常见命令
- Activiti工作流引擎使用详解
- PHP防止被xss和sql语句注入攻击的方法(网站和app通用)
- Long.ValueOf(“String”) Long.parseLong(“String”) 区别