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 :

pas d'affichage label


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 37
    Points : 29
    Points
    29
    Par défaut pas d'affichage label
    Bonjour,

    je tourne en rond avec mon code pour affiché une fenétre, avec menu dans lequel je souhaite afficher 2 labels, et ensuite 2 boutons (non encore implémenté). Mais les labels ne s'affichent pas et aucun message d'erreur dans la console..

    voici l'arborescence mon projet :
    Racine:
    |
    |- main.py(programme principal)
    |
    |-Interface
    | |
    | |- Window.py (gestion de ma fenêtre principale)
    | |- Apropos.py (gestion de la fenetre apropos) qui ne fonctionne pas mais pas urgent
    |-lib
    | |-Fichiers.py ( fonction pour le traitement que je souhaite réaliser et qui n'est pas encore implementé)

    contenus des fichiers:

    main.py:

    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
    # -*- coding=utf-8 -*-
     
    from tkinter import *
     
    # reprise des import perso
    from Interface.Window import Window
     
    root = Tk()
    screen_width = str(int(root.winfo_screenwidth()/2)-200)
    screen_height = str(int(root.winfo_screenheight()/2)-100)
     
    app = Window(root)
    root.geometry('400x200+'+str(screen_width)+'+'+str(screen_height))
    root.title("Trie Photo")
    #root.iconbitmap("5139.ico")
     
    root.mainloop()
    fichier Window.py:

    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
    # -*- coding=utf-8 -*-
     
    from tkinter import *
    from tkinter import filedialog
    from PIL import Image as Pil
     
     
     
    #import personel
    from Lib.Fichiers import Fichiers
    from Interface.Apropos import Apropos
     
     
    class Window(Frame):
     
     
        def __init__(self,master=None):
            Frame.__init__(self,master)
            self.master = master
            self.master['bg']='white'
            self.open(True)
     
            # mise en place de la frame principale
            frame1 = Frame(self,bd=1,relief='solid')
            # mise en place des zones label
            labOrig = Label(frame1,text="dossier d'origine : "+self.dossier_Origine)
            labOrig.grid(column=0,row=0)
            labDest = Label(frame1, text="dossier destination : "+self.dossier_Destination)
            labDest.grid(column=0,row=1)
            frame1.grid(row=0,column=0)
            # mise en place de la barre de progression
     
            # mise en place des boutons
     
     
     
            #Menu
            menu = Menu(self)
            self.master.config(menu=menu)
            file = Menu(menu)
            file.add_command(label='Nouveau')
            file.add_command(label='Ouvrir')
            file.add_command(label='Enregistrer')
            file.add_command(label='Enregister sous')
            file.add_command(label='Quitter', command=quit)
            menu.add_cascade(label='Fichier', menu=file)
     
            edit = Menu(menu)
            edit.add_command(label='Annuler')
            edit.add_command(label='Copier')
            edit.add_command(label='Couper')
            edit.add_command(label='Coller')
            menu.add_cascade(label='Edition', menu=edit)
     
            aide = Menu(menu)
            aide.add_command(label='Aide')
            aide.add_command(label='A propos',command=apropos)
            menu.add_cascade(label='Aide',menu=aide) 
     
     
     
     
     
     
     
     
        def open(self,start=False):
            orig = filedialog.askdirectory(initialdir=".",
            title="Choissiez le repertoire qui contient les images à traiter!")
            dest = filedialog.askdirectory(initialdir=".",
            title="Choissiez le repertoire destination des images à traiter!")
            self.dossier_Origine = orig
            self.dossier_Destination = dest
     
            if start == False:
                print("je suis dejà selectionné")
     
    #def Apropos():
    #
    #    fApropos= Tk()
    #    # Bouton qui détruit la fenêtre
    #    textApropos = Label(fApropos,text='Ce Programme permet de trier automatiquement les fichiers images\n'
    #        'venant d\'un dossier spécifié!' )
    #    textApropos.pack()
    #    bouton = Button(fApropos, text="quitter", command=fApropos.destroy)
    #    bouton.pack()        # insère le bouton dans la fenêtre
    #    fApropos.mainloop()
     
     
    def apropos(self):
            """affiche la fenêtre 'A propos' """
            self.apr = Apropos(self)
            self.apr.focus_set()
    fichier apropos.py:
    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
    import tkinter
     
    class Apropos(tkinter.Toplevel):
     
        def __init__(self, master=None):
            tkinter.Toplevel.__init__(self, master)
            self.master = master
            self.title("A propos")
     
            self.mes = """
    VotreApplication version 1.40
     
    Copyright 2018 blablabla...
                """
            police = tkinter.Font(self, size=12, family='Arial')
            self.L = Tkinter.Label(self, text=self.mes,
                                   bg='yellow', font=police).grid()
    je ne fournis pas fichiers.py.

    Avez vous une idée ?

  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 778
    Points
    36 778
    Par défaut
    Salut,

    Lorsque vous créez des widgets/Label dans une Frame qui est dans une autre Frame, il faut vous assurer que tous les parents soient affichés (via .grid ou .pack) pour espérez les voir apparaître.

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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    oui merci pour ce détail, que j'avais pas bien saisie.

    j'ai finis par comprendre mon erreur ( le repas de midi a été judicieux )

    question subsidiaire:

    j'ai cru comprendre que l'on ne peut pas mélanger les géométrie de fenêtre, mais ce que que j'ai pas compris c'est c'est de manière global ou juste au niveau du widget parent.

    par exemple en speudo code pour être plus clair.
    une frame-principale qui contient 2 sous-frame.
    peut ont faire les pack comme ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    frame-principale. pack()
    sous-frame1. grid( row=0,column=0)
    label1.place(x=x,y=y)
    label2.place(x=x,y=y)
    sousframe2.grid(row=1,column=1)
    label3.place(x=x,y=y)
    label4.place(x=x,y=y)

  4. #4
    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 778
    Points
    36 778
    Par défaut
    Citation Envoyé par lcrprod Voir le message
    j'ai cru comprendre que l'on ne peut pas mélanger les géométrie de fenêtre, mais ce que que j'ai pas compris c'est c'est de manière global ou juste au niveau du widget parent.
    Juste au niveau du widget dit "master" (qui est, par défaut, le "parent") et çà n'a de sens que pour "grid" et "pack"... Ce qui est tellement "logique" qu'il a fallu des années pour que les développeurs acceptent de sortir un message d'erreur à celui qui essaie de les mélanger (pour un même "master").

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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    merci pour cet éclaircissement.

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

Discussions similaires

  1. Pas d'affichage des labels avec IE7
    Par jeanluc35 dans le forum IGN API Géoportail
    Réponses: 15
    Dernier message: 19/02/2011, 17h07
  2. pas d'affichage après ajout d'un nouveau label
    Par whims dans le forum Débuter
    Réponses: 10
    Dernier message: 27/07/2010, 13h54
  3. [TOMCAT][LOGS]pas d'affichage de trace dans la console
    Par fabszn dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 23/08/2005, 02h28
  4. [JTable] pas d'affichage du header
    Par I o dans le forum Composants
    Réponses: 2
    Dernier message: 27/04/2005, 13h42
  5. Pas d'affichage de texture sur certains PC
    Par octopus984 dans le forum GLUT
    Réponses: 7
    Dernier message: 19/04/2005, 13h22

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