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 :

simple problème de mise en page


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut simple problème de mise en page
    Bonjour à tous
    Je débute en python + tk, et j'ai des soucis avec la mise en page d'une simple appli genre "paint"
    Une ligne de quelques boutons en haut, et 2 colonnes de quelques boutons à gauche du canvas :



    Je n'arrive pas à réaliser cette mise en page, et surtout qu'elle soit conservée en cas de resize de la fenêtre
    Faut-il utiliser des .pack(), des .grid(), ou autre chose ?
    J'ai tout esseyé mais rien ne me satisfait.

    Merci d'avance à celui ou ceux qui voudront bien m'aider !

  2. #2
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut
    Voici le résultat de mes cogitations
    mais le problème reste entier lorsque je redimensionne ma fenêtre, car je souhaiterais que le canvas s'étende autant que la fenêtre !

    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
    from Tkinter import *
     
    root = Tk()
     
    topTB = Frame(root)
    topTB.grid(column=1,row=1,columnspan=3,sticky='w')
     
    leftTB1 = Frame(root)
    leftTB1.grid(column=1,row=2,sticky='n')
     
    leftTB2 = Frame(root)
    leftTB2.grid(column=2,row=2,sticky='n')
     
    can = Canvas(root,bg='white',relief='solid',bd=1)
    can.grid(column=3,row=2)
     
    Button(topTB,text='A').pack(side='left')
    Button(topTB,text='B').pack(side='left')
    Button(topTB,text='C').pack(side='left')
    Button(topTB,text='D').pack(side='left')
    Button(topTB,text='E').pack(side='left')
     
    Button(leftTB1,text='1').pack(side='top')
    Button(leftTB1,text='2').pack(side='top')
    Button(leftTB1,text='3').pack(side='top')
    Button(leftTB1,text='4').pack(side='top')
    Button(leftTB1,text='5').pack(side='top')
     
    Button(leftTB2,text='6').pack(side='top')
    Button(leftTB2,text='7').pack(side='top')
    Button(leftTB2,text='8').pack(side='top')
    Button(leftTB2,text='9').pack(side='top')
    Button(leftTB2,text='0').pack(side='top')
     
    root.mainloop()

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut
    voilà, je fais les questions & réponses tout seul mais si ça peut servir à quelqu'un, voici la solution :

    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
    from Tkinter import *
     
    root = Tk()
     
    topTB = Frame(root)
    topTB.pack(side='top',fill='x')
     
    leftTB1 = Frame(root)
    leftTB1.pack(side='left',fill='y')
     
    leftTB2 = Frame(root)
    leftTB2.pack(side='left',fill='y')
     
    can = Canvas(root,bg='white',relief='solid',bd=1)
    can.pack(expand=1,fill='both')
     
    Button(topTB,text='A').pack(side='left')
    Button(topTB,text='B').pack(side='left')
    Button(topTB,text='C').pack(side='left')
    Button(topTB,text='D').pack(side='left')
    Button(topTB,text='E').pack(side='left')
     
    Button(leftTB1,text='1').pack(side='top')
    Button(leftTB1,text='2').pack(side='top')
    Button(leftTB1,text='3').pack(side='top')
    Button(leftTB1,text='4').pack(side='top')
    Button(leftTB1,text='5').pack(side='top')
     
    Button(leftTB2,text='6').pack(side='top')
    Button(leftTB2,text='7').pack(side='top')
    Button(leftTB2,text='8').pack(side='top')
    Button(leftTB2,text='9').pack(side='top')
    Button(leftTB2,text='0').pack(side='top')
     
    root.mainloop()

Discussions similaires

  1. problème de mise en page
    Par cyrill.gremaud dans le forum ASP
    Réponses: 10
    Dernier message: 29/08/2005, 15h54
  2. problème de mise en page d'une zone de liste
    Par audrey_desgres dans le forum Access
    Réponses: 26
    Dernier message: 24/06/2005, 09h11
  3. [PostScript] Problème de mise en page
    Par gege2061 dans le forum Autres langages
    Réponses: 4
    Dernier message: 29/04/2005, 16h07
  4. Problème de mise en page
    Par Pill_S dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 11/01/2005, 18h35
  5. [CR]Problème de mise en page
    Par CaramelChoca dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 16/12/2004, 10h16

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