Добро пожаловать в Stackoverflow Shakti!
На будущее - всегда хорошо предоставить Минимальный воспроизводимый пример , чтобы другие могли лучше воспроизвести и понять вашу проблему, чтобы помочь вам! Это также поможет вам понять, где именно происходит ошибка.
Когда вы вызываете Toplevel () из другого окна tkinter, чтобы открыть новое окно, вам нужно будет вызвать "mainl oop ()" на втором окно, а также для отображения изображения - попробуйте мой код с примером изображения и закомментируйте / раскомментируйте строку с
topper.mainloop()
, чтобы увидеть разницу в функциональности.
Адаптированный код:
from tkinter import *
from PIL import Image, ImageTk # pip install pillow
def show_second_window():
topper = Toplevel()
topper.title("2nd Window")
topper.state('zoomed')
my_img = ImageTk.PhotoImage(Image.open("t1.png"))
my_label = Label(topper, image=my_img, height=100, width=100)
F21 = Frame(topper, borderwidth=83, bg="blue", relief=SUNKEN)
button1 = Button(topper, text="class", command=topper.destroy)
button1.pack()
my_label.pack()
topper.mainloop() # <---- this is needed to show the image!
root = Tk()
root.title("1st window")
button = Button(root, text="show second window", command=show_second_window)
button.pack()
root.mainloop()