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 :

Suppression d'un bouton sur Tkinter


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2021
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Suppression d'un bouton sur Tkinter
    Bonjour, pour un projet dans mon lycée j'essaie de recréer un test de rapidité de clics : je souhaite donc faire apparaitre un bouton qui, lorsqu'on le clique se détruit et en fait apparaitre un autre. Or je n'arrive pas à supprimer un bouton, voici mon 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
    from tkinter import*
    from random import randint
    fen=Tk()
    fen.geometry("800x800")
     
     
    def alea():
        bout=Button(fen,text="Clique ici",command=alea).place(x=randint(0,800),y=randint(0,800))
        bout.destroy()
     
    bout=Button(fen,text="Clique ici pour commancer",command=alea).place(x=400,y=400)
     
     
    fen.mainloop()

    Ce programme m'affiche donc le message d'erreur suivant : AttributeError: 'NoneType' object has no attribute 'destroy'

    Est-ce que quelqu'un saurait comment faire.
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 379
    Points : 36 923
    Points
    36 923
    Par défaut
    Salut,

    Button(...) retourne un objet "Button" auquel on pourra appliquer la méthode .place() qui elle retourne None.

    Donc bout = Button(...).place(...) mettra None dans la variable bout (et çà plante).

    - W

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2021
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Salut,
    Effectivement le problème venait de la commande .place
    Pour ceux qui ceux demandent j'ai décalé le .place sur la ligne suivante comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    bout=Button(fen,text="Clique ici pour commencer",command=alea)
    bout.place(x=400,y=400)
    Merci beacoup , je passe le sujet en résolu

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

Discussions similaires

  1. Bouton sur Tkinter
    Par KROCLARYS dans le forum Général Python
    Réponses: 2
    Dernier message: 11/05/2018, 11h16
  2. [XL-2016] Suppression d'un bouton en VBA sur excel 2016
    Par retraite83 dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 27/04/2018, 12h31
  3. Réponses: 6
    Dernier message: 07/03/2014, 19h09
  4. Détruire un bouton sur son OnClick
    Par Volfoni dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/06/2006, 12h00
  5. Quatrième bouton sur la barre de titre d'une fenêtre
    Par Yacine95000 dans le forum MFC
    Réponses: 8
    Dernier message: 02/06/2004, 17h54

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