微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Exe的窗口图标在PyQt4

我在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中的域名?

自动将日志文件从Unix服务器下载到Windows机器

问题是,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"

然后在您的.PRO文件中,添加以下行:

win32{ RC_FILE = YourApp.rc }

它应该解决你的问题!

我遇到过同样的问题。 出于某种原因,它只能用image.png文件而不是image.ico文件。 不知道为什么。 但我把ico转换成PNG,它工作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐