如何从n加载PyQt4中的.ico文件

2024-10-01 07:45:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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路径添加到应用程序中。但它没有起作用。在

^{pr2}$

有谁能给我一个正确的方法来解决我在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之后,我尝试如上所述列出,操作是相同的 甚至在创建QtGui,QApplication()之后尝试过。同样的结果没有变化。在


Tags: 路径网络应用程序客户端sql系统驱动程序system
2条回答

虽然答案已经被接受,但这里有一个更好的解决方案来加载网络PyQt4插件。在

在检查了addLibraryPath的官方页面之后,我发现您必须使用QtCore.QCoreApplication.addLibraryPath()。因此,不要使用QtGui版本,请使用如下所示:

QtCore.QCoreApplication.addLibraryPath( '//server/location/PyQt4/plugins' )
app = QtGui.QApplication(sys.argv)

如果在创建QApplication之前执行此操作,则将设置。我甚至不需要使用qt.conf公司从我的网络驱动器正确加载插件。在

你可以设置路径qt.conf公司文件,并将此文件放在应用程序的可执行文件所在的位置。在

从网络位置访问PyQt4,比如说\somesystem\Share\PyQt4

你可以找到一个qt.conf公司在\\somesystem\Share\PyQt4中复制该文件并将.conf文件粘贴到应用程序的可执行文件所在的位置。在

在中编辑以下行qt.conf公司在

[Paths]
Prefix = //somesystem/Share/PyQt4
Binaries = //somesystem/Share/PyQt4

一切正常,甚至可以加载sqldrivers。不需要使用app.addLibraryPath 您也可以在安装程序中包含此文件,以便自动安装。在

相关问题 更多 >