wxPython:导出位图时的路径问题

2 投票
2 回答
1214 浏览
提问于 2025-04-15 11:39

我有一个模块,它启动一个wxPython应用程序,并从文件中加载一个wx.Bitmap,用作工具栏按钮。代码是这样的:wx.Bitmap("images\\new.png", wx.BITMAP_TYPE_ANY)。当我单独运行这个模块时,一切都很正常,但当我尝试从一个不同目录的模块中导入并运行它时,wxPython就会出现错误。(这个错误是关于工具栏的内部问题,我觉得这只是意味着它没有正确加载这个图片。)

我该怎么办?

2 个回答

1

wxPython常见问题解答推荐使用一个叫做img2py.py的工具,将图标文件嵌入到Python模块中。这个工具是wxPython安装包里自带的。

这里有一个嵌入工具栏图标的例子

3

"images\new.png" 是一个相对路径,这意味着当加载这个图片时,它会依赖于当前的目录位置。

所以你可以选择设置当前目录

os.chdir("location to images folder")

或者使用一个函数,让它根据你的程序来加载,比如:

def getProgramFolder():
    moduleFile = __file__
    moduleDir = os.path.split(os.path.abspath(moduleFile))[0]
    programFolder = os.path.abspath(moduleDir)
    return programFolder

bmpFilePath = os.path.join(getProgramFolder(), "images\\new.png")

撰写回答