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 :

Grid et Pack


Sujet :

Tkinter Python

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut Grid et Pack
    Bonjour, j'ai 2 codes séparés qui créent des boutons à partir des mots d'un texte. L'un utilise Grid et l'autre Pack. Je voudrais les rassembler en un seul code. Est-ce que c'est possible svp? Merci d'avance de votre réponse.

    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
    from tkinter import *
     
     
    master = Tk()
    L = master.winfo_screenwidth()
    H = master.winfo_screenheight()
     
    master.minsize(L,H)
    #master.geometry("320x600")
     
    texte = (
        'His cognitis Gallus ut serpens adpetitus telo vel saxo iamque spes '
        'extremas opperiens et succurrens saluti suae quavis ratione colligi '
        'omnes iussit armatos et cum starent attoniti, districta dentium acie '
        'stridens adeste inquit viri fortes mihi periclitanti vobiscum.'
    )
     
     
    def callback() :
     
        x = 0
        pack = True
        i = 1
        j = 0
        bg = ('red', 'pink')
        for mot in texte.split(' ') :       
                myLabel=Button(master, text=mot).grid(row=i, column=j, sticky=W)
                j=j+1
                if j  > 20 :
                    i = i+1
                    j = 0
     
     
    #b = Button(master, text="OK", command=callback)
    #b.pack()
    bouton=Button(master, text="OK", command=callback).grid(row=0, sticky=NS) 
     
    mainloop()

    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
    from tkinter import *
     
     
    master = Tk()
    L = master.winfo_screenwidth()
    H = master.winfo_screenheight()
     
    master.minsize(L,H)
    #master.geometry("320x600")
     
    texte = (
        'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod '
        'tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim '
        'veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea '
        'commodo consequat. Duis aute irure dolor inreprehenderit in voluptate '
        'velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat '
        'cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id '
        'est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed '
        'doeiusmod tempor incididunt ut labore et dolore magna aliqua.'
    )
     
    def callback() :
        conteneur = Frame(master, bg='yellow')
        conteneur.pack()
     
        x = 0
        pack = True
        i = 0
        bg = ('red', 'pink')
     
        for mot in texte.split(' ') :
            if not pack or not x :
                frame = Frame(conteneur, bg=bg[i%2], width=320, height=30)
                frame.pack()
                frame.pack_propagate(False)
                i += 1
            if not pack :
                x = larg
                pack = True
            try :
                # On pack en définissant le parent
                bout.pack(in_=frame, side='left')
            except :
                pass
            # On ne définit pas le parent
            bout = Button(text=mot)
     
            larg = bout.winfo_reqwidth()
     
            if x + larg > 320 :
                pack = False
            else :
                x += larg
     
    b = Button(master, text="OK", command=callback)
    b.pack()
     
    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 Arsene12 Voir le message
    L'un utilise Grid et l'autre Pack. Je voudrais les rassembler en un seul code. Est-ce que c'est possible svp?
    Impossible de commencer à remplir une Frame/Toplevel avec des widgets gérés par "pack" et de changer d'avis en cours de route pour utiliser "grid": les dernières versions de Python vous remontent un message d'erreur explicite - les plus anciennes pensent que vous êtes assez grand pour comprendre que c'est n'importe quoi et font n'importe quoi.
    Par contre rien n'empêche d'utiliser "grid" pour une Frame/Toplevel et "grid" pour une autre.

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

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Impossible de commencer à remplir une Frame/Toplevel avec des widgets gérés par "pack" et de changer d'avis en cours de route pour utiliser "grid": les dernières versions de Python vous remontent un message d'erreur explicite - les plus anciennes pensent que vous êtes assez grand pour comprendre que c'est n'importe quoi et font n'importe quoi.
    Par contre rien n'empêche d'utiliser "grid" pour une Frame/Toplevel et "grid" pour une autre.

    - W
    Je suis arrivé à utiliser Grid en créant un canvas. J'ai un problème car je voudrais ne pas insérer de boutons en dehors de la fenêtre : entre Dolore et nostrud les mots magna aliqua. Ut enimad minim veniam, quis sont en dehors.


    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
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    from tkinter import *
     
    master = Tk()
    L = master.winfo_screenwidth()
    H = master.winfo_screenheight()
     
    master.minsize(L,H)
    #master.geometry("320x600")
     
    texte = (
        'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod '
        'tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim '
        'veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea '
        'commodo consequat. Duis aute irure dolor inreprehenderit in voluptate '
        'velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat '
        'cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id '
        'est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed '
        'doeiusmod tempor incididunt ut labore et dolore magna aliqua.'
    )
     
    class VerticalScrolledFrame(Frame):
        """A pure Tkinter scrollable frame that actually works!
        * Use the 'interior' attribute to place widgets inside the scrollable frame
        * Construct and pack/place/grid normally
        * This frame only allows vertical scrolling
        """
        def __init__(self, parent, *args, **kw):
            Frame.__init__(self, parent, *args, **kw)            
     
            # create a canvas object and a vertical scrollbar for scrolling it
            vscrollbar = Scrollbar(self, orient=VERTICAL)
            vscrollbar.pack(fill=Y, side=RIGHT, expand=FALSE)
            canvas = Canvas(self, bd=0, highlightthickness=0, bg="orange", yscrollcommand=vscrollbar.set)
            canvas.pack(side=LEFT, fill=BOTH, expand=TRUE)
            vscrollbar.config(command=canvas.yview)
     
            # reset the view
            canvas.xview_moveto(0)
            canvas.yview_moveto(0)
     
            # create a frame inside the canvas which will be scrolled with it
            self.interior = interior = Frame(canvas, bg="green")
            interior_id = canvas.create_window(0, 0, window=interior, anchor=NW)
     
            # track changes to the canvas and frame width and sync them,
            # also updating the scrollbar
            def _configure_interior(event):
                # update the scrollbars to match the size of the inner frame
                size = (interior.winfo_reqwidth(), interior.winfo_reqheight())
                canvas.config(scrollregion="0 0 %s %s" % size)
                if interior.winfo_reqwidth() != canvas.winfo_width():
                    # update the canvas's width to fit the inner frame
                    canvas.config(width=interior.winfo_reqwidth())
            interior.bind('<Configure>', _configure_interior)
     
            def _configure_canvas(event):
                if interior.winfo_reqwidth() != canvas.winfo_width():
                    # update the inner frame's width to fill the canvas
                    canvas.itemconfigure(interior_id, width=canvas.winfo_width())
            canvas.bind('<Configure>', _configure_canvas)
     
     
    def callback() :       
        TabMotsParPhrases1()
     
    if __name__ == '__main__':
     
        def __init__(self, *args, **kwargs):
           for w in frame1.winfo_children():
                        w.destroy()
     
        class TabMotsParPhrases1(Tk):
     
            def __init__(self, *args, **kwargs):
     
               self.frame = VerticalScrolledFrame(master)
               self.frame.pack(fill=BOTH, expand=TRUE)
     
               i = 0
               fonts = {'normal': 'arial 12','bold': 'arial 9 bold',}
               j = 0    
               for mot in texte.split(' ') :                    
                        color = ['yellow', 'orange'][i % 2] 
                        # Traiter la ligne et ainsi de suite ...
                        data2 = mot                       
                        color2="white" 
                        myLabel = Label(self.frame.interior, text=mot, borderwidth=5, relief="sunken", fg="black", bg=color, font=fonts['normal'])#, width=taille)#anchor='ws', int(L/nbreElement)) #, 
                        myLabel.grid(row=i, column=j, padx=10, pady=10, sticky='ns') #, columnspan=29, padx=1)                    
                        j= j+1
                        #print("j= "+str(j))
                        self.frame.update()
                        pL = myLabel.winfo_rootx()+ myLabel.winfo_width()+10+8
                        tR = master.winfo_width()
                        print(pL)
                        print(tR)
                        #print(master.winfo_rootx())
                        #print("j = "+str(j))
                        if pL>tR :#j>5 :
                            #print(pL)
                            print("Hey")                        
                            j=0
                            i = i+1                        
     
    b = Button(master, text="OK", command=callback)
    b.pack()
     
    mainloop()

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

    Je ne vois pas trop le rapport avec la question initiale sur grid/pack.
    Vous pourriez commencer par supprimer l'appel à VerticalScrolledFrame(master) pour tout poser dans une Frame toute simple: vous devriez avoir le même soucis (et moins de code à poster/examiner pour comprendre votre soucis).

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

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    Je ne vois pas trop le rapport avec la question initiale sur grid/pack.
    Vous pourriez commencer par supprimer l'appel à VerticalScrolledFrame(master) pour tout poser dans une Frame toute simple: vous devriez avoir le même soucis (et moins de code à poster/examiner pour comprendre votre soucis).
    - W
    Merci de votre conseil. J'ai supprimé la scrollbar et ça va déjà mieux :

    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
    from tkinter import *
     
    master = Tk()
    L = master.winfo_screenwidth()
    H = master.winfo_screenheight()
     
    master.minsize(L,H)
    #master.geometry("320x600")
     
    texte = (
        'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod '
        'tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim '
        'veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea '
        'commodo consequat. Duis aute irure dolor inreprehenderit in voluptate '
        'velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat '
        'cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id '
        'est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed '
        'doeiusmod tempor incididunt ut labore et dolore magna aliqua.'
    )
     
    class maFrame(Frame):
        """A pure Tkinter scrollable frame that actually works!
        * Use the 'interior' attribute to place widgets inside the scrollable frame
        * Construct and pack/place/grid normally
        * This frame only allows vertical scrolling
        """
        def __init__(self, parent, *args, **kw):
            Frame.__init__(self, parent, *args, **kw)            
     
            # create a canvas object
            canvas = Canvas(self, bd=0, highlightthickness=0, bg="orange")
            canvas.pack(side=LEFT, fill=BOTH, expand=TRUE)
     
            # create a frame inside the canvas which will be scrolled with it
            self.interior = interior = Frame(canvas, bg="green")
            interior_id = canvas.create_window(0, 0, window=interior, anchor=NW)
     
            def _configure_canvas(event):
                if interior.winfo_reqwidth() != canvas.winfo_width():
                    # update the inner frame's width to fill the canvas
                    canvas.itemconfigure(interior_id, width=canvas.winfo_width())
            canvas.bind('<Configure>', _configure_canvas)
     
     
    def callback() :       
        TabMotsParPhrases1()
     
    if __name__ == '__main__':
     
        def __init__(self, *args, **kwargs):
           for w in frame1.winfo_children():
                        w.destroy()
     
        class TabMotsParPhrases1(Tk):
     
            def __init__(self, *args, **kwargs):
     
               self.frame = maFrame(master)
               self.frame.pack(fill=BOTH, expand=TRUE)
     
               i = 0
               fonts = {'normal': 'arial 12','bold': 'arial 9 bold',}
               j = 0    
               for mot in texte.split(' ') :                    
                        color = ['yellow', 'orange'][i % 2] 
                        # Traiter la ligne et ainsi de suite ...
                        data2 = mot                       
                        color2="white" 
                        myLabel = Label(self.frame.interior, text=mot, borderwidth=5, relief="sunken", fg="black", bg=color, font=fonts['normal'])#, width=taille)#anchor='ws', int(L/nbreElement)) #, 
                        myLabel.grid(row=i, column=j, padx=10, pady=10, sticky='ns') #, columnspan=29, padx=1)                    
                        j= j+1
                        #print("j= "+str(j))
                        self.frame.update()
                        pL = myLabel.winfo_rootx()+ 100# 100 étant la largeur maximale de la colonne
                        tR = master.winfo_width()
                        print(pL)
                        print(tR)
                        #print(master.winfo_rootx())
                        #print("j = "+str(j))
                        if pL>tR :#j>5 :
                            #print(pL)
                            print("Hey!")                        
                            j=0
                            i = i+1                        
     
    b = Button(master, text="OK", command=callback)
    b.pack()
     
    mainloop()
    Il y a toujours des labels en dehors de la frame.

    Le mieux serait de fixer un nombre de colonnes maximal (Jmax) et si à la fin la grid dépasse le bord droit, il faut réduire le padx. Si un padx=0 s'avère insuffisant, il faut recommencer en décrémentant le Jmax.

    Je cherche à savoir comment connaitre la largeur de la grid

  6. #6
    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
    Citation Envoyé par Arsene12 Voir le message
    Le mieux serait de fixer un nombre de colonnes maximal (Jmax) et si à la fin la grid dépasse le bord droit, il faut réduire le padx. Si un padx=0 s'avère insuffisant, il faut recommencer en décrémentant le Jmax.
    Le mieux serait d'utiliser des widgets plus approprié mais comme on vous l'a déjà dit et répété, on ne va pas pouvoir faire grand chose de plus pour vous.

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

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Le mieux serait d'utiliser des widgets plus approprié mais comme on vous l'a déjà dit et répété, on ne va pas pouvoir faire grand chose de plus pour vous.

    - W

    Le problème que j'ai concerne la fonction .winfo_x() (ou .winfo_rootx()). Si mon bouton dépasse le bord droit de l'écran, myLabel.winfo_x() devrait me donner un nombre supérieur à la largeur de l'écran.
    Je prends un exemple dans mon code. Le bouton contenant le mot "enimad" est situé sur la première ligne après le bord droit de la fenêtre. Je devrait avoir myLabel.winfo_x()>master.winfo_width(). Or master.winfo_width() = 1680 et myLabel.winfo_x() = 1416 (myLabel.winfo_rootx() = 1424 car master.winfo_rootx() = 8).
    Y'a quelque chose qui va pas.

    Je viens de comprendre. Lorsqu'on rajoute un mot dans une case du dessous, s'il est plus grand que les autres mots situés dans la même colonne, il élargit la colonne. Il faut donc fixer la largeur des colonnes en fonction du mot le plus long ou bien fixer le nombre de colonnes que doit contenir la grid et diminuer ce nombre dans le cas où la grid déborderait de la frame.

    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
    from tkinter import *
     
    master = Tk()
    L = master.winfo_screenwidth()
    H = master.winfo_screenheight()
     
    master.minsize(L,H)
    #master.geometry("320x600")
     
    texte = (
        'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod '
        'tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim '
        'veniam, quis nostrud exercitation ullamco laboris nisi utaliquip ex ea '
        'commodo consequat. Duis aute irure dolor inreprehenderit in voluptate '
        'velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat '
        'cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id '
        'est laborum.'
    )
     
    class maFrame(Frame):
        """A pure Tkinter scrollable frame that actually works!
        * Use the 'interior' attribute to place widgets inside the scrollable frame
        * Construct and pack/place/grid normally
        * This frame only allows vertical scrolling
        """
        def __init__(self, parent, *args, **kw):
            Frame.__init__(self, parent, *args, **kw)
     
            print("Ajout")
     
            # create a canvas object
            canvas = Canvas(self, bd=0, highlightthickness=0, bg="orange")
            canvas.pack(side=LEFT, fill=BOTH, expand=TRUE)
     
            # create a frame inside the canvas which will be scrolled with it
            self.interior = interior = Frame(canvas, bg="green")
            interior_id = canvas.create_window(0, 0, window=interior, anchor=NW)
     
            def _configure_canvas(event):
                if interior.winfo_reqwidth() != canvas.winfo_width():
                    # update the inner frame's width to fill the canvas
                    canvas.itemconfigure(interior_id, width=canvas.winfo_width())
            canvas.bind('<Configure>', _configure_canvas)
     
     
    def callback() :       
        TabMotsParPhrases1()
     
    if __name__ == '__main__':
     
        class TabMotsParPhrases1(Tk):
     
            def __init__(self, *args, **kwargs):
     
               self.frame = maFrame(master)
               self.frame.pack(fill=BOTH, expand=TRUE)
     
               i = 0
               fonts = {'normal': 'arial 12','bold': 'arial 9 bold',}
               j = 0    
               for mot in texte.split(' ') :                    
                        color = ['yellow', 'orange'][i % 2] 
                        # Traiter la ligne et ainsi de suite ...
                        data2 = mot                       
                        color2="white" 
                        myLabel = Label(self.frame.interior, text=mot, borderwidth=5, relief="sunken", fg="black", bg=color, font=fonts['normal'])#, width=taille)#anchor='ws', int(L/nbreElement)) #, 
                        myLabel.grid(row=i, column=j, padx=10, pady=10, sticky='ns') #, columnspan=29, padx=1)                    
                        j= j+1
                        #print("j= "+str(j))
                        self.frame.update()
                        pL = myLabel.winfo_rootx()+ 100# 100 étant la largeur maximale de la colonne
                        tR = master.winfo_width() + master.winfo_rootx()
                        #print(pL)
                        #print(myLabel.cget("text"))
                        #print(myLabel.winfo_x())
                        if myLabel.cget("text") == "enimad" :
                                print("Hey!")
                                print(myLabel.winfo_x())
                                print(myLabel.winfo_rootx())
                                print(master.winfo_width())
                        if pL>tR :#j>5 :
                            #print("Hey!")
                            #print(myLabel.winfo_x())
                            j=0
                            i = i+1     
     
    b = Button(master, text="OK", command=callback)
    b.pack()
     
    mainloop()

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

Discussions similaires

  1. Problème de pack / grid
    Par devel360 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 12/04/2010, 19h01
  2. Pack dans le Grid control
    Par JacK_soN dans le forum Entreprise Manager
    Réponses: 0
    Dernier message: 06/07/2009, 15h24
  3. [GRID CONTROL] Où installer les Packs?
    Par Arkan6262 dans le forum Entreprise Manager
    Réponses: 1
    Dernier message: 20/04/2009, 10h51
  4. Réponses: 5
    Dernier message: 25/03/2008, 11h31
  5. [10.2.0.3] Grid control / Diagnostic pack
    Par Débéa dans le forum Entreprise Manager
    Réponses: 5
    Dernier message: 06/03/2008, 09h14

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