Я использую в этой программе разные уровни над моим главным окном (ровно 2). Я использую атрибуты «альфа», чтобы создать эффект гудения, когда окно появляется под новым, легче читать новое окно. С верхним уровнем это здорово, потому что даже когда у меня открыты 2 верхних уровня, на панели windows (где открыт весь список моих приложений) он отображает только заголовок главного окна моей программы (надеюсь, это понятно ^^, смотрите картинки). Но когда я уничтожаю второй верхний уровень и возвращаюсь к первому, у меня появляется другой заголовок, который появляется в строке windows в связи с первым верхним уровнем. Он появляется только тогда, когда я использую атрибуты, чтобы вернуться в «alpha» = 1 к моему первому уровню, когда я уничтожаю второй уровень. Действительно, когда я не использую атрибуты, даже когда я уничтожаю второй верхний уровень, у меня остается только одна заголовок в ссылке на главное окно.
Почему такое поведение с атрибутами функции и как избежать это?
введите описание изображения здесь
Код моей программы:
...
from tkinter import *
def toplevel_1():
global top_1
fenetre.attributes("-alpha",0.25)
top_1=Toplevel(fenetre)
top_1.overrideredirect(1)
top_1.grab_set()
top_1["bg"]="black"
button_toplevel_2=Button(top_1,text="Open TopLevel 2",command=toplevel_2)
button_toplevel_2.pack()
label_toplevel_1=Label(top_1,text="TopLevel 1",bg="black",fg="red",font=50)
label_toplevel_1.pack()
button_destroy_top_1=Button(top_1,text="Destroy TopLevel 1",command=destroy_top_1)
button_destroy_top_1.pack()
top_1.geometry("%dx%d+%d+%d"%(500,500,250,250))
def destroy_top_1():
top_1.destroy()
fenetre.attributes("-alpha",1)
def toplevel_2():
global top_2
top_1.attributes("-alpha",0.5)
top_2=Toplevel(top_1)
top_2.overrideredirect(1)
top_2.grab_set()
top_2["bg"]="blue"
label_toplevel_2=Label(top_2,text="TopLevel 2",bg="blue",fg="green",font=50)
label_toplevel_2.pack()
button_destroy_top_2=Button(top_2,text="Destroy TopLevel 2",command=destroy_top_2)
button_destroy_top_2.pack()
top_2.geometry("%dx%d+%d+%d"%(250,250,500,500))
def destroy_top_2():
top_2.destroy()
top_1.attributes("-alpha",1)
top_1.grab_set()
fenetre=Tk()
fenetre.title("Les Chevaliers d'Arthur")
menu=Menu(fenetre)
menu.add_command(label="Quitter",command=fenetre.destroy)
fenetre.config(menu=menu)
fenetre.geometry("%dx%d+%d+%d"%(1000,750,100,100))
button_toplevel_1=Button(fenetre,text="Open TopLevel 1",command=toplevel_1)
button_toplevel_1.pack()
fenetre.mainloop()
...
Спасибо за помощь !!!!!!