Tkinter "не может открыть" pyimage1 ": нет такого файла или каталога" ошибка при попытке открыть изображение - PullRequest
0 голосов
/ 23 января 2019

Я пытался добавить фоновое изображение в мой интерфейс, но всегда получаю сообщение об ошибке:

"couldn't open "pyimage1": no such file or directory"

Также я довольно новичок в питоне.

Уже опробовал несколько методов с tkinter и PIL, а также холст tkinter, который тоже не работал

Это вся программа:

 import tkinter as tk
 from PIL import Image, ImageTk

class MainMenu:

def __init__(self, master):

    #creating Main Frame and Window
    master.title("Interface")

    #Image

    image = Image.open(r"Images\matrix.jpg")
    photo = ImageTk.PhotoImage(image)
    self.background_image = tk.PhotoImage(file=photo)
    self.background_label = tk.Label(image=self.background_image)
    self.background_label.place(x=0,y=0)
    self.background_label.img = self.background_image

    #Creating Widgets
    self.label1 = tk.Label(master, text="Please Enter the text you would
    like encrypted: ")
    self.entry1 = tk.Text(master, height=5, width=20)
    self.button = tk.Button(master, text="Submit", command=self.Submit)

    #Adding Widgets to Grid
    self.label1.grid(row=0, column=0, padx=5, pady=5)
    self.entry1.grid(row=1, column=0, padx=5, pady=5)
    self.button.grid(columnspan=2, pady=10)

    #Configuration of Widgets and Main window
    master.configure(bg="black")
    self.button.configure(bg="light blue")
    self.label1.configure(bg="black", fg="light blue")                 
    self.entry1.configure(bg="light blue")    


def Submit(self):
    print("You entered: " + self.entry1.get())


root = tk.Tk()
Mm = MainMenu(root)
root.mainloop()

Основная проблема была бы в этих строках, которые я предполагаю:

    image = Image.open(r"Images\matrix.jpg")
    photo = ImageTk.PhotoImage(image)
    self.background_image = tk.PhotoImage(file=photo)
    self.background_label = tk.Label(image=self.background_image)
    self.background_label.place(x=0,y=0)
    self.background_label.img = self.background_image

Как видите, я пытаюсь создать интерфейс или графический интерфейс, и все работает нормально, кроме фонового изображения.

1 Ответ

0 голосов
/ 23 января 2019

Попробуйте это:

image = Image.open("Images\matrix.jpg")
photo = ImageTk.PhotoImage(image)
#self.background_image = tk.PhotoImage(file=photo) -- Not needed, delete
self.background_label = tk.Label(image=photo)
self.background_label.image = photo
self.background_label.place(x=0,y=0)
#self.background_label.img = self.background_image -- Also not needed, delete
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...