I have this simple program just for understand and you can run for trying it, when I enter with the ,ouse in the Entry/text box the button "Nome utente" get eliminate in the "distruggi_pulsante" function.
When I leave the text area the button is recreated in the "crea pulsante" function, but why does it work only once? The first enter-leave cycle works but in the second the button doesn't get destroyed.
Here is my code :
from tkinter import *
def distruggi_pulsante(e):
bottone_nome_trasparente.destroy()
def crea_pulsante(e):
bottone_nome_trasparente = Button(window, text="Nome utente", bg="white", fg="grey", relief="sunken", bd=0)
bottone_nome_trasparente.configure(activebackground="white")
bottone_nome_trasparente.configure(activeforeground="grey")
bottone_nome_trasparente.place(x=802, y=201)
window = Tk()
window.state('zoomed')
window.title("Facebook")
window.configure(bg = "#F0F2F5")
etichetta_facebook = Label(window,text="facebook",bg = "#F0F2F5",fg = "#006af2")
etichetta_facebook.configure(font=("Calibri",35,"bold"))
etichetta_facebook.place (x=182,y=115)
etichetta_accessi = Label(window,text="Accessi recenti",bg = "#F0F2F5",fg = "black")
etichetta_accessi.configure(font=("Adobe Arabic",20))
etichetta_accessi.place (x=182,y=180)
etichetta_clicca = Label(window,text = "Clicca sulla tua immagine o aggiungi un account.", bg = "#F0F2F5",fg = "#606770")
etichetta_clicca.configure(font=("Adobe Arabic",11))
etichetta_clicca.place (x=182,y=220)
etichetta_bianca = Label(window,bg = "white",height=23,width=58,relief="solid",borderwidth = 1)
etichetta_bianca.place(x=770,y=180)
spazio_nome = Entry(window,width=27,borderwidth=2,relief="groove")
spazio_nome.config(font=("Adobe Arabic",18))
spazio_nome.place(x=796,y=197)
bottone_nome_trasparente = Button(window,text= "Nome utente",bg ="white",fg = "grey",relief="sunken",bd=0)
bottone_nome_trasparente.configure(activebackground="white")
bottone_nome_trasparente.configure(activeforeground="grey")
bottone_nome_trasparente.place(x=802,y=201)
spazio_nome.bind("<Enter>", distruggi_pulsante)
spazio_nome.bind("<Leave>", crea_pulsante)
window.mainloop()
source https://stackoverflow.com/questions/72044926/why-this-function-in-tkinter-doesnt-work
Comments
Post a Comment