PROBLEMA Label non mostrate nella finestra python tkinter

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
Salve a tutti,
sto scrivendo per gioco un programmino in tkinter, per la precisione adesso sto facendo una finestra di registrazione. Metto le varie Labels e Entries e fin qui tutto bene, quando eseguo viene mostrato tutto. Arriva il momento di mettere il bottone per far si che i dati immessi vengano processati, e lo faccio. Eseguo e bum, non mi mostra piu le tre Labels che avevo messo, ma solo le Entries e il bottone. Ho quindi commentato il bottone per vedere cos succedeva, ma niente, rimaneva tutto uguale (senza bottone). Non credo sia un bug della libreria oppure di vsc, visto che ho riavviato il pc e provato a eseguire lo stesso codice su un altro file.

Ecco il codice della funzione incriminata
Python:
from tkinter import *
   
window = Tk()

def register():
    window.title('Register')

    username_var = StringVar()
    password_var = StringVar()
    repeatPassword_var = StringVar()

    username_text = Label(text='Username', font=('Helvetica', 15), pady=20, textvariable=username_var)
    username_entry = Entry()
    password_text = Label(text='Password', font=('Helvetica', 15), pady=10, textvariable=password_var)
    password_entry = Entry(show='·')
    repeatPassword_text = Label(text='Repeat password', font=('Helvetica', 15), padx=10, textvariable=repeatPassword_var)
    repeatPassword_entry = Entry(show='·')

    username_text.grid(row=0, column=0)
    username_entry.grid(row=0, column=1)
    password_text.grid(row=1, column=0)
    password_entry.grid(row=1, column=1)
    repeatPassword_text.grid(row=2, column=0)
    repeatPassword_entry.grid(row=2, column=1)

    reg = Button(text='Register')
    reg.grid(row=3, column=1, pady=20)
       
register()
       
if __name__ == '__main__':
    window.mainloop()
 
Ultima modifica:

giammo82

Utente Attivo
1,210
525
Allora ci sono un paio di punti da rivedere:

1) non usare il parametro "textvariable=" puoi usare la variabile "username_text" per qualsiasi operazione, ed se in caso volesti usare quel parametro allora fallo fuori dalla funzione Label()

2) il "PadY=" puoi usarlo in window.config(pady=20) è molto meglio

con questa riga: username_text = Label(text='Username', font=('Helvetica', 15), pady=20)
il label torna visibile...
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili