pyqt程序使用py2exe打包时遇到的问题
2007-10-10 14:17
691 查看
最近用pyqt写了些程序,想打包然后发布,使用py2exe时遇到了些问题。
setup.py如下:
# setup.py
from distutils.core import setup
import py2exe
setup(windows=["loadMain.py"])
#用的是GUI
setup.py如下:
# setup.py
from distutils.core import setup
import py2exe
setup(windows=["loadMain.py"])
#用的是GUI
python setup.py py2exe 时会报 找不到qt4 sip等 所以还要加上 -p PyQt4,sip 这样就成功了。 问题:使用qtdesigner产生ui文件后有两种方式使用,1,手动使用继承或直接使用的方式来 添加信号,槽,和调用函数的连接;2,使用uic。 手动的就比较简单了,添加2句话就可以。uic大概是这样: #!/usr/bin/env python import sys,os from PyQt4 import QtCore, QtGui, uic from xml.etree.cElementTree import parse class DemoImpl(QtGui.QDialog): def __init__(self, *args): QtGui.QWidget.__init__(self, *args) uic.loadUi("main.ui", self) self.exefile="" self.exdir="." self.paramList=[] @QtCore.pyqtSignature("") def on_pushButton_2_clicked(self): self.exefile=self.setOpenFileName() self.lineEdit.setText(self.exefile) 问题就出在这里了,使用uic方式时,打包的结果是可以成功的,但运行会报错。 log:Traceback (most recent call last): File "uicload.py", line 4, in <module> File "PyQt4"uic"__init__.pyc", line 7, in <module> File "PyQt4"uic"Compiler"compiler.pyc", line 9, in <module> File "PyQt4"uic"uiparser.pyc", line 16, in <module> ImportError: No module named elementtree.ElementTree 根据kde。org riverband,等几个地方解决方案也还是没有找到,看来这个问题得下一个版本才能 解决了。 于是回头我不用uic方式,改用继承写的,打包结果是可以使用的。 这是运行的实例,外观使用的plastique。打包结果会多许多没用的,比如tk,tcl包,都可以删掉的。
相关文章推荐
- Python使用Pygtk和Py2exe打包遇到的问题
- pyqt5程序使用py2exe打包后运行时报找不到Qt platform plugin ‘windows’错误
- 使用exe4j将java程序打包成exe可执行文件遇到的问题
- 关于使用了QtWebKit的PyQt程序打包后无法显示网页图片的问题(Mac0S和windows)
- 使用exe4j把JAVA GUI程序打包成exe文件时遇到的问题
- python3.4 使用pyinstaller打包程序遇到的问题
- 使用Py2exe将PyQt程序打包为exe文件
- 使用Py2exe将PyQt程序打包为exe文件
- py2exe 打包 pyqt程序的图片(ico等) 不显示的问题
- py2exe打包后发现 no model named sip问题(使用pyqt时)的解决方法
- py2exe 打包 pyqt程序的图片不显示的问题
- PyQt4 QPixmap.load/loadFromData 使用py2exe 打包后无法显示JPEG,gif等图片的问题
- 使用Py2exe将PyQt程序打包为exe文件
- windows 下 py2exe 打包程序时遇到的问题及解决办法
- 64位macOS下使用py2App打包PyQt4程序
- windows7下使用py2exe把python打包程序为exe文件
- java桌面程序中使用联动菜单遇到与解决的问题
- py2exe打包pyqt程序
- 当我们在程序中使用Packet32.h进行编程时,可能会遇到以下问题:
- 修正使用ClickOnce升级程序遇到HRESULT: 0x800736B3问题