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 :

Dimensionnement fenetre sous Tkinter


Sujet :

Tkinter Python

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Par défaut Dimensionnement fenetre sous Tkinter
    Bonjour à tous !

    Je suis débutant sous Python, et je voulais m'entrainer à placer des objets dans une fenêtre, malheureusement je n'arrive pas du tout à obtenir ce que je souhaite..

    Je voudrais diviser ma fenêtre en 4 grâce à des frame (pour inclure ensuite des widgets dedans).
    J'ai rajouté des canvas dans ces frames pour voir comment elles étaient dimensionnées.

    je voudrais que la zone de droite soit 5x plus grande que celle de gauche et la zone du bas 5x que celle du haut.

    en gros une table de 1+5 en colonne et 1+5 en ligne.

    Merci de votre aide !



    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
    def initialisation(self):
            self.resizable(False,False)
            #emplacement de l'image de fond :
            self.image=Image.open("fond.jpg")
            self.fond=ImageTk.PhotoImage(self.image)
     
            w=self.fond.width()
            h=self.fond.height()        
            self.geometry("%dx%d+%d+%d" % (w, h, 0, 0))
     
     
            #importation de l'image de fond en arriere plan :
            self.panel_fond=Tkinter.Label(self,  image=self.fond)
            self.panel_fond.image=self.fond
            self.panel_fond.pack( fill='both', expand='yes')
     
     
            self.frame_NW=Tkinter.Frame(self.panel_fond)
            self.frame_NE=Tkinter.Frame(self.panel_fond)
            self.frame_SW=Tkinter.Frame(self.panel_fond)
            self.frame_SE=Tkinter.Frame(self.panel_fond)
     
     
            self.NW=Tkinter.Canvas(self.frame_NW, bg="red")
            self.NW.grid(sticky='NSEW')
            self.NE=Tkinter.Canvas(self.frame_NE, bg="green")
            self.NE.grid(sticky='NSEW')
            self.SW=Tkinter.Canvas(self.frame_SW, bg="blue")
            self.SW.grid(sticky='NSEW')
            self.SE=Tkinter.Canvas(self.frame_SE, bg="pink")
            self.SE.grid(sticky='NSEW')
     
     
            self.frame_NW.grid(row=0, column=0, rowspan=1, columnspan=1)
            self.frame_NE.grid(row=0, column=1, rowspan=1, columnspan=5)
     
            self.frame_SW.grid(row=1, column=0, rowspan=5, columnspan=1)
            self.frame_SE.grid(row=1, column=1, rowspan=5, columnspan=5)

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Par défaut
    Salut,
    Il faut que tu regardes du côté des méthodes grid_rowconfigure et grid_columnconfigure. Elles font ce que tu demandes.

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Par défaut
    Coucou !
    Merci de ta réponse

    pour utiliser grid_rowconfigure et grid_columnconfigure, il faut que je les applique sur l'objet parent de mes frame c'est bien ça?

    mon soucis c'est que j'utilise un pack() pour pouvoir afficher mon image de fond (que j'integre dans un label), car avec un grid() j'ai un probleme d'affichage à partir du moment où j'essaie de créer mes frames dedans... (mon image disparait et un tout petit carré apparait à la place)

    est ce que tu vois d'où viendrais le problème?

    Merci,
    Nabot

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Par défaut
    Re coucou !

    J'ai découvert la fonction grid_propagate()... donc j'ai plus de redimensionnement de ma fenêtre d'origine héhé !

    par contre quand j'ai mon image d'arrière-plan et que j'intègre des widgets dans mes frames, mon arrière plan disparait pour des zones blanches..

    de plus grid_rowconfigure et grid_columnconfigure me permettent bien de gérer la taille des mon tableau, seulement j'ai le même soucis de zone blanches (mon arrière plan disparait..)

    Y a t-il moyen de garder mon fond? Ou peut être il faut que je le sépare en plusieurs morceaux pour chaque frame?

    Merci de votre aide,
    Nabot

Discussions similaires

  1. formats images sous Tkinter
    Par bob29 dans le forum Tkinter
    Réponses: 2
    Dernier message: 05/02/2007, 14h17
  2. dimensionnement fenetre access
    Par maxeur dans le forum Access
    Réponses: 2
    Dernier message: 18/01/2007, 15h31
  3. Ouverture de fenetre sous windows
    Par buzzkaido dans le forum Windows
    Réponses: 6
    Dernier message: 07/11/2006, 09h37
  4. [Access 2003]dimensionner un sous formulaire?
    Par steeves5 dans le forum Access
    Réponses: 2
    Dernier message: 21/06/2006, 14h05
  5. Creation nouvelle fenetre sous MFC
    Par aurelienr dans le forum MFC
    Réponses: 12
    Dernier message: 10/05/2006, 10h58

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