Как добавить значки(картинки) в проект Python на VS CODE?
Создал нужный значок, добавил в папку с проектом. В самом редакторе файл отражается и открывается, но в программу не подтягивается
import tkinter as tk
win = tk.Tk()
photo = tk.PhotoImage(file= 'f.png')
win.iconphoto(False, photo)
win.config(bg='#007373')
win.title('мое приложение')
win.geometry('500x500+100+200')
win.mainloop()
вот такая ошибка:
PS G:\PYTHON> & C:/Users/***/AppData/Local/Programs/Python/Python310/python.exe g:/PYTHON/.vscode/project/123.py
Traceback (most recent call last):
File "g:\PYTHON\.vscode\project\123.py", line 3, in <module>
photo = tk.PhotoImage(file= 'f.png')
File "C:\Users\***\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 4093, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Users\***\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 4093, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Users\***\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 4038, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't open "f.png": no such file or directory
PS G:\PYTHON>
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
В данном случае у вас как корень проекта в vscode открыта папка G:/PYTHON, она же в данном случае текущая папка. Из-за этого файл f.png ищется в ней.
Варианты решения:
- Открыть в vscode как проект папку
G:/PYTHON/project - Указывать путь относительно папку
G:/PYTHON, т.е.photo = tk.PhotoImage(file='project/f.png') - Программно определить папку, в которой лежит сам файл скрипта
123.py, указать путь относительно этой папки:
import tkinter as tk
from pathlib import Path
script_directory = Path(__file__).parent
win = tk.Tk()
photo = tk.PhotoImage(file=script_directory / 'f.png')
win.iconphoto(False, photo)
win.config(bg='#007373')
win.title('мое приложение')
win.geometry('500x500+100+200')
win.mainloop()
