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

时间:2009-05-17 13:27:43

标签: python path wxpython

我有一个启动wxPython应用程序的模块,该应用程序从文件中加载wx.Bitmap以用作工具栏按钮。它看起来像这样:wx.Bitmap("images\\new.png", wx.BITMAP_TYPE_ANY)。当我单独运行该模块时,一切运行良好,但是当我尝试从不同目录中的不同模块导入和运行它时,wxPython引发异常。 (关于工具栏的内部异常,我认为这意味着它没有正确加载位图。)

我该怎么办?

2 个答案:

答案 0 :(得分:2)

“images \ new.png”是一个相对路径,所以当位图被加载时,它将取决于什么是cur dir 所以要么设置cur目录

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")

答案 1 :(得分:1)

wxPython FAQ建议使用名为img2py.py的工具将图标文件嵌入到Python模块中。这个工具附带了wxPython发行版。

这是example of embedding toolbar icons