如何从网络加载PyQt4中的.ico文件
我有一个在PyQt4中开发的应用程序。
它具有为Windows和QMenus设置的图标。
所有客户端系统均已安装python。并且PyQt4是从网络位置加载的(\\system_xyz\PyQt4)
。
该应用程序在带有正确加载图标的开发人员系统中运行良好。但是,当在客户端上运行相同的脚本时,应用程序可以运行,但图标不会加载。
在我的应用程序中,我也使用了Qsql驱动程序。它也有同样的问题。适用于开发人员系统,但不适用于客户端系统。
我可以通过将sql插件路径添加到以下应用程序来克服此sql驱动程序问题
SQLDriverPath = (r'\\system_xyz\PyQt4\plugins\sqldrivers')
QtGui.QApplication.addLibraryPath(SQLDriverPath)
我了解到pyqt4需要qico4.dll
读取.ico文件。所以我将imageformats
路径添加到了应用程序。但它没有用。
ImageDriverPath = (r'\\system_xyz\PyQt4\plugins\imageformats')
QtGui.QApplication.addLibraryPath(ImageDriverPath)
任何人都可以建议我一种正确的方法来解决我的问题,如何通过网络在PyQt应用中加载.ico
我的更新
我做了以下列出支持的图像格式。
import sys
sys.path.append(r'r'\\system_xyz')
from PyQt4 import QtGui
for imageType in QtGui.QImageReader.supportedImageFormats():
print imageType
输出值
bmp
pbm
pgm
png
ppm
xbm
xpm
添加后我尝试列出上面的内容imageformats
,创建后OP也一样QtGui,QApplication()
。结果不变。
-
您可以在qt.conf文件中设置路径,并将此文件放置在应用程序可执行文件的位置。
从网络位置访问PyQt4,说\ somesystem \ Share \ PyQt4
您可以在\\ somesystem \ Share \ PyQt4中找到一个qt.conf文件,然后将其复制并粘贴到应用程序可执行文件的位置。
在qt.conf中编辑以下几行
[Paths] Prefix = //somesystem/Share/PyQt4 Binaries = //somesystem/Share/PyQt4
一切正常,即使sqldrivers也将被加载。无需使用app.addLibraryPath您也可以在安装程序中包含此文件,以便将其自动安装。