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)