Проблема в том, что Относительный путь не будет принят, т.е. , если у вас есть bin.png
в C:\
, тогда вы должны сделать как-
tk.PhotoImage(file='C:\\bin.png')
Теперь,если вы все еще хотите использовать относительные пути, то следующее будет делать -
import tkinter as tk
import os
Win = tk.Tk()
Img = tk.PhotoImage(file=os.path.abspath('bin.png')
tk.Button(Win, image=Img).pack()
Win.mainloop()
или использовать это -
import sys, os
def get_path(file):
if not hasattr(sys, ''):
file = os.path.join(os.path.dirname(__file__), file)
return file
else:
file = os.path.join(sys.prefix, file)
return file
Он просто получает полный путь к файлу.
Теперь используйте функцию-
...file=get_path('bin.png'))