Tkinter en python

Fermé
Vapovag - 8 déc. 2019 à 11:45
 trifou - 9 déc. 2019 à 09:35
Bonjour,

Déjà, mon programme est assez long et complexe...
J'ai créé des boutons mais ils s'activent tout seuls au début de mon programme et donc quand je clique dessus, ça ne fait plus rien ! Pourriez-vous m'aider ?
chxSquelette = Button(zone, text='Squelette', font=('Arial', 10), width=7, height=2, command=choix(J1, Squelette))
chxSquelette.place(relx=0.2, rely=0.9, anchor='center')
chxOrc = Button(zone, text='Orc', font=('Arial', 10), width=7, height=2, command=choix(J1, Orc))
chxOrc.place(relx=0.5, rely=0.9, anchor='center')
chxSerpent = Button(zone, text='Serpent', font=('Arial', 10), width=7, height=2, command=choix(J1, Serpent))
chxSerpent.place(relx=0.8, rely=0.9, anchor='center')

def choix(player, brawler):
player.name = brawler.name
player.pv = brawler.pv
player.attack = brawler.attack
player.shield = brawler.shield
player.speed = brawler.speed
player.type = brawler.type
player.aim = brawler.aim
print(J1.name, J1.pv, J1.aim)

1 réponse

Bonjour,

Faire
command=choix(J1, Squelette)
, c'est appeler la fonction choix, peu importe que ce soit fait dans l'instance d'une classe.

command doit être une référence de fonction.

Ce problème est tellement récurrent qu'il doit y en avoir des centaines de sujets sur internet, une petite recherche s'impose ^^
0