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

Python Discussion :

Problème d'affichage de label avec tkinter


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 79
    Points : 89
    Points
    89
    Par défaut Problème d'affichage de label avec tkinter
    Bonjour,
    comme je l'ai expliqué dans le titre, j'aimerai un Label qui fonctionne comme un compteur, c'est à dire qu'il me donne le nombre de fichiers traités sur le total de fichiers à traiter.
    Mon code exécute correctement mais le label n’apparaît pas dans ma fenêtre. Pourtant, il me semble que tout est bon :/
    Je vous met donc mon code en entier si dessous.
    Je vous remercie de vos réponses.


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    from tkinter import * 
    from PIL import Image, ImageTk  
    import tkinter.filedialog
    import os
    import glob
    import numpy as np
    import matplotlib.pyplot as plt
    import shutil
     
     
    fenetre = Tk()
    fenetre.title('INPS: Technologies Numériques')
     
    i = 0
     
    def alert():
        showinfo("alerte", "Bravo!")
     
     
     
    # Ouvrir
    def Ouvrir():
    	list = []
    	filename = tkinter.filedialog.askdirectory(title="Choisir votre dossier images à analyser")		
    	print("vous avez choisi le répertoire ",filename)
    	directorysave = tkinter.filedialog.askdirectory(title="Choisir le dossier vos images analysées seront sauvegardées")
    	print("vous avez choisi le repertoire de sauvegarde ",directorysave)
    	if len(filename) > 0:
    		for path, dirs, files in os.walk(filename):
    			for file in files: 
    				try:
    					image = Image.open(filename+"/" + file)  
    					image.load()
    					hist = [] # ou hist = list()
    					greymap = image.convert("L")
    					values = greymap.histogram()[:256]				
    					n_abscisses = np.linspace(0,255,256)
    					n_ordonnees = np.array(values)			
    					fig = plt.figure()
    					plt.xlim(0,255)
    					plt.plot(n_abscisses,n_ordonnees)
    					plt.grid(True)
    					lowers = [v for v in values if v <= 100]
    					if(len(lowers)>150):	
    						plt.title('Densité de couleur du picto '+ file)
    						shutil.copy2(filename+"/" + file, directorysave+ "/picto/" + file)
    					else:
    						plt.title('Densité de couleur de la photo ' + file)
    						shutil.copy2(filename+"/" + file, directorysave+ "/photo/" + file)
    					#plt.show()
    					longueur = str(len(files))
    					hist = []
    					plt.close(fig)
    				except IOError:
    					shutil.copy2(filename+"/" + file, directorysave+ "/photo/" + file)
    				except OSError:
    					shutil.copy2(filename+"/" + file, directorysave+ "/photo/" + file)
    				except SyntaxError:
    					shutil.copy2(filename+"/" + file, directorysave+ "/photo/" + file)
    				j = str(i)
    				label = Label(fenetre, text="Nombre de photo analysées : "+ j + "/" + longueur)
    				i = i+1
    				label.pack(side = LEFT, padx = 5, pady = 5)
     
     
     
    # Menu 
    menubar = Menu(fenetre)
    fenetre.geometry('300x100+400+400')
     
     
    menu1 = Menu(menubar, tearoff=0)
    menu1.add_command(label="Importer ...", command= Ouvrir)
    menu1.add_command(label="Editer", command=alert)
    menu1.add_separator()
    menu1.add_command(label="Quitter", command=fenetre.quit)
    menubar.add_cascade(label="Fichier", menu=menu1)
     
     
    menu3 = Menu(menubar, tearoff=0)
    menu3.add_command(label="A propos", command=alert)
    menubar.add_cascade(label="Aide", menu=menu3)
     
    fenetre.config(menu=menubar)
     
     
    #Bouton 
     
    BImport = Button(fenetre, text="Importer ... ", command = Ouvrir)
    BImport.pack(side = LEFT, padx = 5, pady = 5)
    BQuit = Button(fenetre, text="Quitter", command = fenetre.destroy)
    BQuit.pack(side = LEFT, padx = 5, pady = 5)
     
     
     
    fenetre.mainloop()

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

    Votre code ne peut pas s'exécuter correctement à cause de l'instruction "i = i+1" à la ligne 62 (et l'erreur que çà affiche devrait être assez claire pour que vous la corrigiez tout seul). Par ailleurs, vous créez un Label à chaque itération (plutôt que de mettre à jour le texte d'un Label existant).

    - W

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Votre code ne peut pas s'exécuter correctement à cause de l'instruction "i = i+1" à la ligne 62 (et l'erreur que çà affiche devrait être assez claire pour que vous la corrigiez tout seul). Par ailleurs, vous créez un Label à chaque itération (plutôt que de mettre à jour le texte d'un Label existant).

    - W
    Bonjour,
    oui effectivement certaines de mes erreurs mériteraient des baffes mais j'ai fais les modifications comme vous me l'avez indiqué et mon label ne s'affiche toujours pas dans ma fenêtre :/
    Comment faire pour l'afficher ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 347
    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 347
    Points : 36 870
    Points
    36 870
    Par défaut
    Citation Envoyé par flobos Voir le message
    oui effectivement certaines de mes erreurs mériteraient des baffes mais j'ai fais les modifications comme vous me l'avez indiqué et mon label ne s'affiche toujours pas dans ma fenêtre :/
    Et vous avez modifié quoi? Pourquoi? Où est le code?

    Une modification simple serait de mettre cette ligne 62 en commentaire.
    Vous verriez plein de Labels s'afficher.

    Si ce n'est pas le cas, c'est que vous avez une erreur (et un traceback à examiner) avant.

    - W

Discussions similaires

  1. problème d'affichage dune image avec Tkinter
    Par destroy51 dans le forum GUI
    Réponses: 14
    Dernier message: 29/03/2014, 13h40
  2. Réponses: 3
    Dernier message: 23/05/2006, 20h17
  3. problème d'affichage d'image avec mozilla
    Par lyon31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/03/2006, 16h27
  4. [Mail] Problème d'affichage d'HEADERS avec mail();
    Par JeanMi66 dans le forum Langage
    Réponses: 3
    Dernier message: 17/01/2006, 06h46
  5. Problème d'affichage de données avec crystal report
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 07/12/2005, 15h45

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