我一直在调整别人的简单项目以满足我的需求。在项目目录中有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)
您的函数缺少“return”关键字,这意味着它将返回None。尝试
def rcpath(rel_path):
return os.path.join(os.getcwd(), rel_path)
root.iconbitmap('@' + rcpath('icons/pypad.ico'))
更新:包括Bryan Oakley对@的评论。