Le Boutton Tkinter qui ne foctionne pas - Thonny est-il coupable ?

Résolu/Fermé
Lecodeurhtmlcss Messages postés 77 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 - 2 mai 2021 à 13:31
Lecodeurhtmlcss Messages postés 77 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 - 2 mai 2021 à 15:05
Bonjour !

Je suis en train de travailler sur un petit projet dans l'éditeur python Thonny, très suffisant. Pourtant, il semble poser un gros problème :

J'ai simplifié au maximum mon code pour arriver à ça :
from tkinter import *
fenetre = Tk()
bouton=Button(fenetre, text="Jeveuxquitter !", command=fenetre.quit)
bouton.pack()
fenetre.mainloop()

Or dès qu'on clique sur le bouton rien ne se passe !
Pire : ce code fonctionne bien sur le site replit.com ! Thonny ne permet donc pas aux boutons de faire des commandes (donc rien du tout en fait) ?
Ou j'ai fait une erreur ?

Merci beaucoup pour votre aide !

2 réponses

jee pee Messages postés 39622 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 231
2 mai 2021 à 13:59
Bonjour,

.quit n'est peut être pas la meilleure façon de tester une commande, tu devrais plutôt avoir un bouton qui lance une fonction qui effectue quelque chose dans la fenêtre graphique.

Avec .quit, rajouter en fin du source
fenetre.destroy()

1
Lecodeurhtmlcss Messages postés 77 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 1
Modifié le 2 mai 2021 à 14:53
Rebondissement !
Merci beaucoup pour ce conseil - en effet
fenetre.destroy()
fonctionne.

Pourtant, et on en revient au coeur ultime du problème, le programme :

from tkinter import *
def détruire():
    print("cliqué")
    fenetre.destroy

fenetre = Tk()
bouton=Button(fenetre, text="Jeveuxquitter !", command=détruire())
bouton.pack()
fenetre.mainloop()



Ne fonctionne pas de son côté !
Pourtant il fait la même chose ! Etrangement, il écrit "
cliqué
" dans la console au lancement du programme...
Il se pourrait dès lors que "
command
" se déclanche dès qu le bouton apparaît et pas dès qu'il est cliqué...
Merci beaucoup pour l'aide !


Note : cette fois ci la même chose arrive sur replit.com
0
Lecodeurhtmlcss Messages postés 77 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 1
2 mai 2021 à 15:05
C'est bon ! Merci beaucoup jee pee !

En fait, c'étaient les parenthèses après la fonction qui étaient derrière tout ça ! Le pauvre thonny était innocent !
0