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 :

Supprimer un canevas pour le remplacer par un autre


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Supprimer un canevas pour le remplacer par un autre
    Je cherche à faire un bouton reset dans ma fenêtre Tkinter qui supprime le canevas ou des figures ont été dessinés.Le bouton reset que j'ai fait supprime le canevas existant et le remplace par un nouveau mais le problème est que je ne peux plus faire mes dessins sur cette nouvelle fenetre.
    En resumé,je lance mon programme,je dessine de jolies figures,j'appui sur reset,et il m'est impossible de dessiner

    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
    class Dessin:
        def __init__(self):
          self.fenetre=Tk()
          self.largeurfenetre=1200
          self.hauteurfenetre=1200
          self.tableaucarre=[]#CONTIENDRA LES COORDS DES CARRE CONSTRUIT
          self.tableautriangle=[]
          self.tableaucercle=[]
          self.largeurcaneva=self.largeurfenetre
          self.hauteurcaneva=self.hauteurfenetre-500
             self.fenetre.geometry(str(self.largeurfenetre)+"x"+str(self.hauteurfenetre))
        self.reset = Button(self.fenetre, text="Reset", fg='blue',command=lambda: self.restart())
          self.reset.pack()
          self.caneva=Canvas(self.fenetre,width=self.largeurcaneva, height=self.hauteurcaneva, bg='white')
        self.fenetre.mainloop()
    def restart(self):
        self.caneva.destroy
        self.caneva=Canvas(self.fenetre,width=self.largeurcaneva, height=self.hauteurcaneva, bg='white')
        self.tableaucercle=[]
        self.tableaucarre=[]
        self.tableautriangle=[]
     
     
    if __name__== '__main__':
        fenetre=Dessin()
    J'ai pas mis tout le code mais seulement ce qui me posait probleme
    Merci d'avance

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Pourquoi ne pas faire un self.caneva.delete(ALL) ?
    Ton lambda est inutile : command=self.restart
    Pas besoin de nommer ton bouton
    Button(self.fenetre, text="Reset", fg='blue', command=self.restart).pack()
    Ne recré pas des listes avec le même nom, vide les.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    C'est bon,ça marche
    Merci pour ton conseil précieux

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

Discussions similaires

  1. [CSS 3] Annuler une propriété "right" pour la remplacer par "left"
    Par Anomaly dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 14/06/2013, 13h21
  2. L'armée française va abandonner les FAMAS pour les remplacer par un nouveau fusil d'assault plus moderne
    Par Pierre Louis Chevalier dans le forum La taverne du Club : Humour et divers
    Réponses: 38
    Dernier message: 04/09/2009, 11h44
  3. vbs pour rechercher-remplacer par fichier spécifique
    Par chicano dans le forum VBScript
    Réponses: 7
    Dernier message: 17/03/2009, 13h25
  4. [Utilisation] Supprimer le cvs ou le remplacer par une version
    Par snyper_ubi dans le forum CVS
    Réponses: 1
    Dernier message: 05/02/2009, 09h05
  5. Police remplacée par une autre
    Par unreal2me dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 02/02/2007, 23h50

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