Python:Tkinter接受的位图和图标

问题描述 投票:1回答:1

我一直在调整别人的简单项目以满足我的需求。在项目目录中有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)
python tkinter relative-path
1个回答
3
投票

您的函数缺少“return”关键字,这意味着它将返回None。尝试

def rcpath(rel_path):
    return os.path.join(os.getcwd(), rel_path)

root.iconbitmap('@' + rcpath('icons/pypad.ico'))

更新:包括Bryan Oakley对@的评论。

© www.soinside.com 2019 - 2024. All rights reserved.