wxPython:导出位图时的路径问题
我有一个模块,它启动一个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")