При запуске функции, открывающей 10 окон с картинкой, остаётся открытым основной root. Как от этого избавиться?
При нажатии на кнопку Dislike с последующим подтверждением должны открываться 10 окон с картинкой "фурри". Всё так и происходит, но глаза режет основной root - ныне пустой прямоугольник, не выполняющий никаких функций. Нужно сделать так, чтобы при активации нужного мне "события" главенствующую роль занимало какое-либо из этих 10 окон, а не root.
# -*- coding: UTF-8
from ast import Index
from tkinter import Tk, Label, Frame, Button, messagebox
from tkinter import *
from tkinter.messagebox import showinfo, askyesno
from tkinter import ttk
from tkinter.ttk import Style
from PIL import Image, ImageTk
import sys
root = Tk()
root.title("Dima Loh")
root.geometry("500x855")
root.configure(bg="#212121")
photo_path = "C:\\VS\\DmitriyLoh\\images\\Choose.jpg"
image = Image.open(photo_path)
image = image.resize((500, 400), Image.NEAREST)
photo = ImageTk.PhotoImage(image)
style = Style()
photo_label = Label(root, image=photo, bg="#212121")
photo_label.image = photo
photo_label.grid(row=1, column=1)
frame = Frame(root)
label = Label(frame, text=" ")
label.grid(row=2, column=1)
frame.grid(row=2, column=1)
def open_dinahu_windows():
for _ in range(10):
window = Toplevel(root)
window.title("П")
img_path = r"C:\\VS\\DmitriyLoh\\images\\Furry.jpg"
img = Image.open(img_path)
img = img.resize((500, 400), Image.NEAREST)
img_tk = ImageTk.PhotoImage(img)
lbl = Label(window, image=img_tk)
lbl.image = img_tk
lbl.pack()
def open_like_image():
global root
like_path = "C:\\VS\\DmitriyLoh\\images\\Sexy.jpg"
image = Image.open(like_path)
image = image.resize((500, 400), Image.NEAREST)
like_photo = ImageTk.PhotoImage(image)
photo_label.config(image=like_photo)
photo_label.image = like_photo
like_button.destroy()
dislike_button.destroy()
messagebox.showinfo("Правильный выбор", "Ты сделал правильный выбор!", parent=root)
root.destroy()
sys.exit()
def open_dislike_image():
global root
dislike_path = "C:\\VS\\DmitriyLoh\\images\\Don't understand.jpg"
image = Image.open(dislike_path)
image = image.resize((500, 400), Image.NEAREST)
dislike_photo = ImageTk.PhotoImage(image)
photo_label.config(image=dislike_photo)
like_button.destroy()
dislike_button.destroy()
answer = askyesno(title="Сын", message="Вы уверены?")
if answer:
open_dinahu_windows()
else:
showinfo(title="Молодец", message="Ну ладно")
like_image = Image.open("C:\\VS\\DmitriyLoh\\images\\Like.png")
like_photo = ImageTk.PhotoImage(like_image)
like_button = Button( frame, text="Like", command=open_like_image)
like_button.grid(row=2, column=1)
like_button.config(width=380, height=93)
like_button.config(image=like_photo)
like_button.image = like_photo
dislike_image = Image.open("C:\\VS\\DmitriyLoh\\images\\Dislike.png")
dislike_photo = ImageTk.PhotoImage(dislike_image)
dislike_button = Button(frame, text="Dislike", command=open_dislike_image)
dislike_button.grid(row=3, column=1)
dislike_button.config(width=65, height=20)
dislike_button.config(image=dislike_photo)
dislike_button.image = dislike_photo
root.mainloop()