我有一个基本上是用于创建绘图应用程序的PySide的自定义版本。 文件夹结构如下:
Juji/
Images/
juji/
Tests/
内在' juji'文件夹包含包。 '图像'文件夹包含在包中使用并相对引用的图标,例如:
QtGui.QAction(QtGui.QIcon('Images/chart_edit.png'), 'Plot', self)
当我在“测试”中创建示例UI脚本时文件夹和导入juji,一切正常,图标显示。
如果我创建了一个外部项目并尝试导入' juji' GUI显示,但没有图标图片显示。
我试过移动'图像' ' juji'内的文件夹文件夹,但这没有帮助。
没有任何图标在包外明确使用 - 当然我的外部项目相对于它的位置无关紧要? (我把它添加到了PYTHONPATH)。
有什么想法吗?
答案 0 :(得分:0)
我做了一个有点笨拙的修复:
我在juji中移动了'Images'并创建了一个guidata.py
文件。
在guidata
中,我从__file__
属性获取绝对路径,删除文件名并附加'Images'文件夹。
然后我可以将guidata
导入包中的每个模块,并使用绝对路径获取图标文件。这似乎适用于任何其他外部项目。
但这有点像黑客。一个工作的相对文件路径会更整洁,但我似乎无法让它工作。