0

i'm trying to update a label so that it shows a message that includes a StringVar.

from tkinter import *
root = Tk()
pseudo = StringVar(root, value=" ")
couleur = IntVar(root, value = 0)
message=StringVar(root, value=" ")


def choix_equipe ():
    if couleur.get() == 1:
        message.set("Bienvenue dans l'équipe bleue {}".format(pseudo.get))
        
    if couleur.get() == 2:
        message.set("Bienvenue à l'équipe rouge {}".format(pseudo.get))
        

entry_pseudo=Entry(root,textvariable=pseudo)
entry_pseudo.grid(row=1, columnspan=3)

label_entry= Label(root, text="Veuillez entrer votre pseudo : ")
label_entry.grid(row=0, columnspan=3)

label_equipes=Label(root, text="Veuillez choisir votre équipe : ")
label_equipes.grid(row=2, columnspan=3)

equipe_rouge= Radiobutton(root, text="Rouge", variable= couleur, value=2)
equipe_rouge.grid(row=3, column=1)

equipe_bleue= Radiobutton(root, text="Bleue", variable = couleur, value = 1)
equipe_bleue.grid(row=4, column=1)

bouton_ok=Button(root, text="OK", command=choix_equipe)
bouton_ok.grid(row=6, column=3)

label_message=Label(root, textvariable=message)
label_message.grid(row=5)


root.mainloop()

it shows " <bound method StringVar.get of <tkinter.StringVar object at 0x0000023F6CDB16F0>>" instead of the value of the StringVar.

I've tried using message.set("Bienvenue dans l'équipe bleue" + str(pseudo.get)) with or without parentheses after get, but it doesn't work either, at best it doesn't update the label at all.

0 Answers0