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 :

Bouton suppression contenu canvas


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Bouton suppression contenu canvas
    Bonjour, je veux faire un système pour ouvrir un fichier dans un canvas, ça ça marche.
    Mais je n'arrive pas à créer un bouton pour supprimer le contenu du canvas sans supprimer le canvas en entier.
    Voici mon code, par quoi devrais-je faire pour remplacer la commande canvas_image.destroy et ainsi ne pas détruire le canvas ?

    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
    33
    34
    35
    36
    37
    38
    39
    40
    # -*- coding:utf-8 -*-
     
    from tkinter import *
    from tkinter.filedialog import *
    from PIL import Image
    from PIL import ImageTk
     
     
    #----- CALLBACK -----#
    def quitter():
        fen.destroy()
     
    def callback():
        print('dring')
     
    def ouvrir_fichier():
        nom_fichier = askopenfilename()
        pil_image = Image.open(nom_fichier)
     
        tk_image = ImageTk.PhotoImage(pil_image)
        img = canvas_image.create_image(0, 0, anchor=NW, image=tk_image)
        canvas_image.image=tk_image
     
    #----- FENTERE -----#
    fen = Tk()
     
    canvas_image = Canvas(fen, width=500, height=500)
    canvas_image.pack(side=LEFT)
     
    #Menu
    menu_barre = Menu(fen)
    fen.config(menu=menu_barre)
    menu_fichier = Menu(menu_barre, tearoff=0)
    menu_barre.add_cascade(label="Fichier", menu=menu_fichier)
    menu_fichier.add_command(label="Ouvrir", command=ouvrir_fichier)
    menu_fichier.add_command(label="Quitter", command=fen.destroy)
    menu_barre.add_command(label="Effacer", command=canvas_image.destroy)
     
     
    fen.mainloop()

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Abrime Voir le message
    Voici mon code, par quoi devrais-je faire pour remplacer la commande canvas_image.destroy et ainsi ne pas détruire le canvas ?
    Le canvas contient des items et ceux de type image sont associés à une image.
    Vous pouvez:
    - faire disparaître l'image via "del canvas.image",
    - supprimer, l'item dont l'identifiant a été récupéré dans "img" via canvas.delete(canvas_image.img),
    - associer l'image à un tag: .create_image(0, 0, anchor=NW, image=..., tag='image') - plutôt que de créer un attribut "img" - et faire canvas.delete('image'),
    - supprimer tous les items du canvas: canvas.delete('all')
    Et si le canvas est juste là pour afficher une image, vous pouvez aussi utiliser l'attribut image=... des widgets Button/Label...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Faire un lien bouton vers un canvas
    Par ljuboja78 dans le forum Flex
    Réponses: 1
    Dernier message: 18/03/2009, 12h19
  2. Suppression contenu feuille
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/08/2008, 14h39
  3. subclipse suppression contenu d'un repository
    Par suckthewindow dans le forum Eclipse
    Réponses: 0
    Dernier message: 17/07/2008, 10h04
  4. [C#][XAML] bouton fermer pour canvas
    Par matb33 dans le forum Général Dotnet
    Réponses: 8
    Dernier message: 18/07/2007, 13h57
  5. Bouton Suppression d'enregistrement
    Par gentoo dans le forum IHM
    Réponses: 8
    Dernier message: 13/03/2007, 13h52

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