在python程序中包含图像?

时间:2014-04-14 15:11:55

标签: python icons pyqt4 pyside

我有一个基本上是用于创建绘图应用程序的PySide的自定义版本。 文件夹结构如下:

Juji/
    Images/
    juji/
    Tests/

内在' juji'文件夹包含包。 '图像'文件夹包含在包中使用并相对引用的图标,例如:

QtGui.QAction(QtGui.QIcon('Images/chart_edit.png'), 'Plot', self)

当我在“测试”中创建示例UI脚本时文件夹和导入juji,一切正常,图标显示。

如果我创建了一个外部项目并尝试导入' juji' GUI显示,但没有图标图片显示。

我试过移动'图像' ' juji'内的文件夹文件夹,但这没有帮助。

没有任何图标在包外明确使用 - 当然我的外部项目相对于它的位置无关紧要? (我把它添加到了PYTHONPATH)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我做了一个有点笨拙的修复:

我在juji中移动了'Images'并创建了一个guidata.py文件。

guidata中,我从__file__属性获取绝对路径,删除文件名并附加'Images'文件夹。

然后我可以将guidata导入包中的每个模块,并使用绝对路径获取图标文件。这似乎适用于任何其他外部项目。

但这有点像黑客。一个工作的相对文件路径会更整洁,但我似乎无法让它工作。