我一直在根据自己的需要调整别人的简单项目。在项目目录中有icons
目录。在原始项目中,这些图标会像这样加载(tkinter
):
root.iconbitmap('icons/pypad.ico')
看起来很公平,但我无法加载它们。路径检查;这有效:
def rcpath(rel_path):
os.path.join(os.getcwd(), rel_path)
root.iconbitmap(rcpath('icons/pypad.ico'))
为什么这么麻烦?它应该像以前一样工作。最初的项目是在Python 2中,我将它改编为Python 3,这可能是无关紧要的。
UPD:
讨论了实际问题here,并提供了许多解决方案。我已经采用了这个:
rooticon = PhotoImage(file='icons/pypad.gif')
root.tk.call('wm', 'iconphoto', root._w, rooticon)
答案 0 :(得分:3)
您的功能缺少"返回"关键字,这意味着它将返回None。尝试
def rcpath(rel_path):
return os.path.join(os.getcwd(), rel_path)
root.iconbitmap('@' + rcpath('icons/pypad.ico'))
更新:包括Bryan Oakley对@的评论。