我写的python应用程序使用svg图像作为图标。
QtGui.QIcon(':icons/icon.svg') <- just like this它可以在我的电脑上运行,但在用py2exe编译并在另一台电脑上运行后,就没有图标了。如果我尝试一下,比如bmp格式,一切正常。所以我认为这可能是某个库的问题。我不知道PyQt4对svg图形使用的是什么。
在我写的setup.py文件中
dllList = ('mfc90.dll','msvcp90.dll','qtnetwork.pyd','qtxmlpatterns4.dll', 'qsvg4.dll', 'qsvgd4.dll')
origIsSystemDLL = py2exe.build_exe.isSystemDLL
def isSystemDLL(pathname):
if os.path.basename(pathname).lower() in dllList:
return 0
return origIsSystemDLL(pathname)
py2exe.build_exe.isSystemDLL = isSystemDLL
setup(windows=[{"script" : "myApp.py"}], options={"py2exe" : {"includes" : ["sip", "PyQt4.QtNetwork", "PyQt4.QtWebKit", "PyQt4.QtSvg" ]}})也有imageformat文件夹(有qvg4.dll等)包含在myApp.exe目录中
那么如何解决这个问题呢?
谢谢,jarek
发布于 2010-09-28 18:11:34
使用的插件(Qt 4.6)是:
正如伊沃解释的那样,你仍然需要qt.conf。
发布于 2010-08-12 23:20:44
您必须在应用程序的主安装目录(实际上是应用程序的工作目录)中添加一个qt.conf,其中包含:
[Paths]
Plugins = <directory containing the image plugins directory>因此,目录布局为:
在本例中,qt.conf中的目录是plugins。
发布于 2012-02-14 05:50:16
qsvg插件需要QtXml。将"PyQt4.QtXml"添加到includes中。
另请参阅library dependencies in Qt。
https://stackoverflow.com/questions/3434817
复制相似问题