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