#python #tkinter
#python #tkinter
Вопрос:
Код:
from tkinter import*
from PIL import Image,ImageTk
class Register:
def __init__(self,root):
self.root = root
self.root.title("Registration Window")
self.root.geometry("1350x700 0 0")
self.bg = ImageTk.PhotoImage(file="Images/waterfall.jpg")
bg = Label(self.root,image = self.bg).place(x=250,y=0,relwidth=1,relheight=1)
root = Tk()*emphasized text*
obj = Register(root)
root.mainloop()
Выше приведен небольшой фрагмент кода для создания регистрационной формы на python и получения следующей ошибки. Используя модуль tkinter в python, я создаю регистрационную форму, в то время как при установке фонового изображения в окне self.bg = ImageTk.PhotoImage(file="Images/waterfall.jpg")
и возникновении ошибки я беру изображение из Интернета и устанавливаю для него высоту и ширину.
Ошибка:
Traceback (most recent call last):
File "d:Login with Databaseregister.py", line 16, in <module>
obj = Register(root)
File "d:Login with Databaseregister.py", line 10, in __init__
self.bg = ImageTk.PhotoImage(file="Images/waterfall.jpg")
File "C:PythonPython38libsite-packagesPILImageTk.py", line 89, in __init__
image = _get_image_from_kw(kw)
File "C:PythonPython38libsite-packagesPILImageTk.py", line 58, in _get_image_from_kw
return Image.open(source)
File "C:PythonPython38libsite-packagesPILImage.py", line 2878, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'Images/waterfall.jpg'
Exception ignored in: <function PhotoImage.__del__ at 0x000001928E23C430>
Traceback (most recent call last):
File "C:PythonPython38libsite-packagesPILImageTk.py", line 118, in __del__
name = self.__photo.name
AttributeError: 'PhotoImage' object has no attribute '_PhotoImage__photo'
Комментарии:
1. Вот важная часть:
FileNotFoundError: [Errno 2] No such file or directory: 'Images/waterfall.jpg'
. Скорее всего, файл не существует, или вы работаете не в том каталоге, в котором, по вашему мнению, находитесь.2. я создал папку с именем login database, которая содержит одну папку изображений, содержащую 2 изображения и 1 файл с именем register.py для запуска этой программы все ресурсы находятся в 1 папке .. итак….
3. ошибка устранена спасибо человеку за помощь!!! @user2357112 поддерживает Monica
Ответ №1:
Я гость вместо того, чтобы использовать это.
self.bg = ImageTk.PhotoImage(file="Images/waterfall.jpg")
bg = Label(self.root,image = self.bg).place(x=250,y=0,relwidth=1,relheight=1)
Попробуйте это.
self.bg=ImageTk.PhotoImage(file="Images/waterfall.jpg")
self.bg_image=Label(self.root, image=self.bg).place(x=0, y=0, relwidth=1, relheight=1)
кроме того, дважды проверьте файл, в котором waterfall.jpg находится.