IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Supression de bouton [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Invité
    Invité(e)
    Par défaut Supression de bouton
    Bonjour,
    J'ai une question à laquelle je ne peux répondre:
    Je code une interface avec Tkinter.
    Dans la définition d'une fonction, je demande de créer un bouton et un texte qui s'affichent normalement.
    Tout va bien, ils s'affichent, mais lorsque que je clique sur le bouton, je suis sensé être "amené" une autre fonction.
    Or, cette autre fonction demande de supprimer le texte créé dans la première définition.
    C'est là que ça ne fonctionne pas, python m'affiche un message d'erreur comme quoi le nom de mon texte n'a pas été défini, qu'il ne correspond à rien.
    Je ne comprend pas car habituellement j'utilise la même méthode pour supprimer un "objet" et là ça ne fonctionne pas seulement avec les "objets" créé dans la définition d'une fonction (je pense d’ailleurs que ça vient de là).
    Est-ce que quelqu'un sais comment faire ?

    Si vous n'avez pas tout compris (ce qui est normal vu ma description), voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    from tkinter import *
     
    fenetre = Tk ()
    fenetre.title("Mon programme")
     
    import tkinter.font
    fond=tkinter.font.Font(fenetre, size=18, family='Trebuchet MS')
    fond.config(size=18, family='Trebuchet MS')
     
    def jouer ():
    canvas.delete(textebase) #C'est là que ça ne fonctionne pas et que le messsage d'erreur arrive
    pret = canvas.create_text(250, 90, text="PRET??", font="Arial 16")
    canvas.pack()
    pret=Button(fenetre, text="Commencer", font=fond) #commande pas encore défini (ne pas s'en occuper)
    pret.pack()
     
    def suite ():
    bout.destroy() #Ces suppressions là fonctionne (texte1 et bout on été créer en dehors d'une définition de fonction
    canvas.delete(texte1)
    textebase = canvas.create_text(250, 150, text="Bonjour, pour commencer le jeu, cliquez sur \"Jouer\".", font="Arial 16") #là je créé mon bouton, et mon texte qui ne voudra pas se supprimer
    jeu=Button(fenetre, text="Jouer", font=fond, command=jouer) #là j'ai mon bouton qui donne un message d'erreur lorsque je clique dessus
    jeu.pack()
     
    canvas = Canvas(fenetre, width=500, height=300, background='white')
    canvas.pack()
    texte1= canvas.create_text(250, 150, text="Bienvenue,\nAppuyez sur \"continuer\" pour commencer le jeu.", font="Arial 16")
    canvas.pack()
     
    bout=Button(fenetre, text="continuer", font=fond, command=suite)
    bout.pack()
     
    fenetre.mainloop()

    Et voici le message d'erreur exacte qui s'affiche lorsque je clique sur mon bouton "jouer":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\Program Files\Python35\lib\tkinter\__init__.py", line 1549, in __call
    __
    return self.func(*args)
    File "<stdin>", line 2, in jouer
    NameError: name 'textebase' is not defined
    Comme vous le voyez python affiche : "NameError: name 'textebase' is not defined"

    Merci d'avance pour vos réponse
    Cordialement
    Corentin
    Dernière modification par Invité ; 20/04/2016 à 11h56.

  2. #2
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut,

    Je te conseille de faire une petite recherche sur la portée des variables, c'est indispensable de bien comprendre cette notion.
    Egalement, d'utiliser des paramètres à tes fonctions, car en l'état tu seras confronté à de multiples problématiques.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci bistouille !
    j'ai fais des recherche comme tu m'as dit et j'ai compris mon erreur (la portée des variables locales...).
    salut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Pb de enregistrement de bouton supression
    Par tenkan54 dans le forum Access
    Réponses: 1
    Dernier message: 18/08/2011, 19h10
  2. Macro XLA ajout et supression bouton de commande
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/01/2008, 04h53
  3. Association de requête supression à un bouton
    Par Claire07 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 16/06/2006, 12h05
  4. Pop-up d'une dialog box a partir d'un bouton
    Par bobbyjack dans le forum MFC
    Réponses: 21
    Dernier message: 13/09/2005, 15h32
  5. Afficher/Masquer un bouton comme IE 6
    Par benj63 dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/07/2002, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo