我有一个用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应用程序中从网络加载PyQt的问题?
我的更新
我随后列出了支持的图像格式。
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()之后也是相同的。同样的结果没有改变。
发布于 2013-01-28 10:59:25
您可以在qt.conf文件中设置路径,并将该文件放置在应用程序可执行文件的位置。
从网络位置访问PyQt4 (例如\某些系统\共享\PyQt4 4)
您可以在\ qt.conf \Share\PyQt4 4中找到一个.conf文件,复制它并将该.conf文件粘贴到应用程序可执行文件的位置。
在qt.conf中编辑下面的行
[Paths]
Prefix = //somesystem/Share/PyQt4
Binaries = //somesystem/Share/PyQt4一切都很好,即使是will驱动程序也会被加载。不需要使用app.addLibraryPath,您也可以将此文件包含在安装程序中,以便自动安装。
发布于 2014-05-07 18:34:02
虽然答案已被接受,但这里有一个更好的网络PyQt4插件加载解决方案。
在检查了正式的addLibraryPath页面之后,我发现您必须使用QtCore.QCoreApplication.addLibraryPath()。因此,不要使用QtGui版本,使用如下方法:
QtCore.QCoreApplication.addLibraryPath( '//server/location/PyQt4/plugins' )
app = QtGui.QApplication(sys.argv)如果在创建QApplication之前正确地这样做,您将被设置。我甚至不需要使用qt.conf来正确地从我的网络驱动器加载插件。
https://stackoverflow.com/questions/14556841
复制相似问题