我有一个在PyQt4中开发的应用程序。
它具有为Windows和QMenus设置的图标。
所有客户端系统均已安装python。并且PyQt4是从网络位置加载的(\\system_xyz\PyQt4)。
(\\system_xyz\PyQt4)
该应用程序在带有正确加载图标的开发人员系统中运行良好。但是,当在客户端上运行相同的脚本时,应用程序可以运行,但图标不会加载。
在我的应用程序中,我也使用了Qsql驱动程序。它也有同样的问题。适用于开发人员系统,但不适用于客户端系统。
我可以通过将sql插件路径添加到以下应用程序来克服此sql驱动程序问题
SQLDriverPath = (r'\\system_xyz\PyQt4\plugins\sqldrivers') QtGui.QApplication.addLibraryPath(SQLDriverPath)
我了解到pyqt4需要qico4.dll读取.ico文件。所以我将imageformats路径添加到了应用程序。但它没有用。
qico4.dll
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()。结果不变。
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您也可以在安装程序中包含此文件,以便将其自动安装。