我在PyQt4有一个小程序,我想编译成一个exe程序。 我正在使用py2exe来做到这一点。 我可以成功地在Windows标题栏中使用下面的代码设置图标,但是当我编译成exe文件时,图标会丢失,我会看到默认的Windows应用程序。 这里是我的程序:
import sys from PyQt4 import QtGui class Icon(QtGui.QWidget): def __init__(self,parent=None): QtGui.QWidget.__init__(self,parent) self.setGeometry(300,300,250,150) self.setwindowTitle('Icon') self.setwindowIcon(QtGui.QIcon('c:/python26_/repy26/icons/iqor1.ico')) app = QtGui.QApplication(sys.argv) icon = Icon() icon.show() sys.exit(app.exec_())
****这里是py2exe的setup.py ****
from distutils.core import setup import py2exe setup(windows=[{"script":"iconqt.py","icon_resources": [(1,"Iqor1.ico")]}],options={"py2exe":{"includes":["sip","PyQt4.QtCore"]}})
如何使.NET应用程序“大地址感知”?
在Win32中从stringparsingdate
WMI,负cpu使用率值和过去的Timestamp_Sys100NS
无法耙db:用gem pg_jruby创build
PHP – Windows中的命令行参数没有被传递
c + + GetKeyState()一些键码不工作
Windows 8 + Emacs 24.3 + emacs-for-python:Pymacs helper在30秒内没有启动
CreateFile是否可以返回NULL?
机器在.NET中的域名?
问题是,py2exe不包括qt图标阅读器插件。 你需要告诉它包含data_files参数。 沿着这些线路的东西:
setup(windows=[{"script":script_path,"icon_resources":[(1,icon_path)]}],data_files = [ ('imageformats',[ r'C:Python26Libsite-packagesPyQt4pluginsimageformatsqico4.dll' ])],options={"py2exe":{"packages":["gzip"],"includes":["sip"]}})
我相信你需要直接从你用py2exe创建的EXE或DLL引用.ico文件。 您似乎有正确的setup.py脚本,所以看看: http : //www.py2exe.org/index.cgi/CustomIcons 。 有一个wxWidgets的例子,但你可以尝试适应Qt。
我建议你创建一个名为YourApp.rc的文件,添加下面一行:
IDI_ICON1 ICON disCARDABLE "res/icons/app_icon.ico"
win32{ RC_FILE = YourApp.rc }
它应该解决你的问题!
我遇到过同样的问题。 出于某种原因,它只能用image.png文件而不是image.ico文件。 不知道为什么。 但我把ico转换成PNG,它工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。