在python程序中包含图像?

2024-10-03 09:20:05 发布

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

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

Juji/
    Images/
    juji/
    Tests/

内部“juji”文件夹包含包的位置。“Images”文件夹包含在包中使用并相对引用的图标,例如:

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

当我在“Tests”文件夹中创建一个示例UI脚本并导入juji时,一切正常,图标也会显示出来。你知道吗

如果我创建了一个外部项目并尝试将“juji”导入其中,GUI会显示出来,但是没有图标图片显示出来。你知道吗

我试过将“Images”文件夹移到“juji”文件夹中,但没有用。你知道吗

没有一个图标是在包的外部显式使用的——当然,我的外部项目相对于它在哪里并不重要?(我把它加到Python身上了)。你知道吗

有什么想法吗?你知道吗


Tags: 项目版本文件夹应用程序绘图tests结构图标
1条回答
网友
1楼 · 发布于 2024-10-03 09:20:05

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

我将“Images”移到juji中并创建了一个guidata.py文件。你知道吗

guidata中,我从__file__属性获取绝对路径,删除文件名并附加“Images”文件夹。你知道吗

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

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

相关问题 更多 >