Bonjour à tous,

je débute en python avec la librairie Tkinter, j'ai une interface graphique mais le problème qui se pose est que des composants de la fenêtre disparaisse quand je la redimensionne.
Est ce que cela vient de l'utilisation des panel ?


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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
import Tkinter
from Tkinter import *
 
class IHM_APPLI(Frame):
 
    def __init__(self):
        '''
        Constructor
        '''
        self.FrameP = Tkinter.Tk()
        self.TextCom1 = self.TextCom2 = Tkinter.Text()
        self.valueTextCom2 = ""
 
 
    ## Recupere la valeur du nouveau commentaire formalisee
    def buttonValid(self):
        print "VALIDER."
        self.setValueTextCom2(self.getTextCom2().get(1.0, Tkinter.END))
        self.getFrameP().destroy()
 
    # Retourne la valeur actuelle du composant FrameP
    def getFrameP(self):
        return self.FrameP
 
    # Affecte une valeur au composant FrameP 
    def setFrameP(self,value):
        self.FrameP = value
 
    ## Retourne la valeur actuel du composant text1
    def getTextCom1(self):
        return self.TextCom1
 
    ## Affecte une valeur a TextCom1 (zone de text)
    def setTextCom1(self, value):
        self.TextCom1 = value
 
    ## Retourne la valeur actuel du zone de text2
    def getTextCom2(self):
        return self.TextCom2
 
    # Affecte au composant TextCom2 (zone de text)
    def setTextCom2(self, value):
        self.TextCom2 = value
 
    # Retourne la valeur actuel du zone de text2       
    def getValueTextCom2(self):
        return self.valueTextCom2
 
    # Affecte une valeur actuel dans la zone de texte 2
    def setValueTextCom2(self, value):
        self.valueTextCom2 = value
 
    def runIHM(self):
        self.getFrameP().title("Test Appli")
        self.getFrameP().geometry('+10+10')
        etat = None
        # DECLARATION PANEL #
        panel0 = Tkinter.Frame(self.getFrameP())
        panel1 = Tkinter.Frame(self.getFrameP())
        panel2 = Tkinter.Frame(self.getFrameP())
        panel3 = Tkinter.Frame(self.getFrameP())
        # DECLARATION PANEL #
 
        #- PANEL 0 #
        L0_Title_Files = Tkinter.Label(panel0, text="Chemin fichier : ")
        L0_Title_FunctionName = Tkinter.Label(panel0, text = "Nom : ")
        L0_Title_NumFCT = Tkinter.Label(panel0, text = "Number : ")
 
        L0_Files = Tkinter.Label(panel0, text = "C://")
        L0_FunctionName = Tkinter.Label(panel0, text = "Hello ")
        L0_NumFCT = Tkinter.Label(panel0, text = "("+str(1) +"/"+ str(1)+")")
        #- PANEL 0 #
 
        #- PANEL 1 #
        scRVt1 = Tkinter.Scrollbar(panel1, orient = Tkinter.VERTICAL)
        scRHt1 = Tkinter.Scrollbar(panel1, orient = Tkinter.HORIZONTAL)
        self.setTextCom1(Tkinter.Text(panel1, wrap = Tkinter.NONE))
 
        L1 = Tkinter.Label(panel1, text = "TEXTE A")
        self.getTextCom1().insert("1.0", "TXT1")
        # - PANEL 1 #
 
 
        # - PANEL 2 #
        scRVt2 = Tkinter.Scrollbar(panel2, orient = Tkinter.VERTICAL)
        scRHt2 = Tkinter.Scrollbar(panel2, orient = Tkinter.HORIZONTAL)
 
        self.setTextCom2(Tkinter.Text(panel2, wrap = Tkinter.NONE))
        L2 = Tkinter.Label(panel2, text = "TEXTE B")
        self.getTextCom2().insert("1.0", "TXT2")
        # - PANEL 2 #
 
        #- PANEL 3 #
        boutonValide = Tkinter.Button(panel3, text="Valider", command = self.buttonValid)
        #-- PANEL 3 #
 
            # ASSEMBLAGE DES SCROLLBAR #
        # -1-
        scRVt1.config(command = self.getTextCom1().yview)
        scRHt1.config(command = self.getTextCom1().xview)
        self.getTextCom1().config(yscrollcommand = scRVt1.set, xscrollcommand = scRHt1.set)
        # -2-
        scRVt2.config(command = self.getTextCom2().yview)
        scRHt2.config(command = self.getTextCom2().xview)
        self.getTextCom2().config(yscrollcommand = scRVt2.set, xscrollcommand = scRHt2.set)                   
        # ASSEMBLAGE DES SCROLLBAR #
 
        #- MISE EN PLACE PANEL 0 #
        L0_Title_Files.grid(column = 0, row = 0)
        L0_Title_FunctionName.grid(column = 0, row = 1)
        L0_Title_NumFCT.grid(column = 0, row = 2)
 
        L0_Files.grid(column = 1, row = 0)
        L0_FunctionName.grid(column = 1, row = 1)
        L0_NumFCT.grid(column = 1, row = 2)
 
        panel0.pack(side=RIGHT)
        #- MISE EN PLACE PANEL 0 # 
 
        #- MISE EN PLACE PANEL 1 #
        L1.grid(column = 0, row = 0)
        self.getTextCom1().grid(column = 0, row = 1)
        scRVt1.grid(column = 1, row = 1, sticky = Tkinter.S + Tkinter.N)
        scRHt1.grid(column = 0, row = 2, sticky = Tkinter.W + Tkinter.E)
        panel1.pack()
        #- MISE EN PLACE PANEL 1 #
 
        #- MISE EN PLACE PANEL 2 #
        L2.grid(column = 0, row = 0)
 
        self.getTextCom2().grid(column = 0, row = 1)
 
        scRVt2.grid(column = 1, row = 1, sticky = Tkinter.S + Tkinter.N)
        scRHt2.grid(column = 0, row = 2, sticky = Tkinter.W + Tkinter.E)
 
        panel2.pack()
        #-- MISE EN PLACE PANEL 2 #
 
        #- MISE EN PLACE PANEL 3 #
        boutonValide.grid(column = 0, row = 0)
        panel3.pack()
        #-- MISE EN PLACE PANEL 3 #
 
        # /---/
        self.getFrameP().mainloop()
        # /---/
 
 
 
if __name__ == '__main__':
    A = IHM_APPLI()
    A.runIHM()
Je vous remercie beaucoup par avance pour votre aide.