Bonjour,
De nombreuses questions similaires à la mienne existent sur internet mais je n'arrive pas à résoudre mon problème.
Je réalise un simple programme de Tchat avec python et tkinter et je souhaiterais ajouter de manière dynamique (par "dynamique" j'entends au fil de l'exécution du programme) des widgets dans une Frame (pour afficher les messages reçus).
Le problème est que quand j'ajoute les widgets de manière dynamiques (ici je le simule avec un Thread pour les tests), ma scrollbar reste inanimée :/ alors qu'elle fonctionne lorsque j'ajoute tous mes widgets directement dans le code.
Merci pour 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 def add(): for i in range(0,100): Label(master = frame, text = i).pack() time.sleep(0.05) frame.update_idletasks() fen = Tk() vsb = Scrollbar(fen, orient ="vertical") vsb.pack(side = RIGHT, fill ="y") c = Canvas(fen, yscrollcommand = vsb.set) c.pack() vsb.config(command = c.yview) frame = Frame(c) thread = Thread(target=add) thread.start() c.create_window(0,0, window = frame) c.config(scrollregion = c.bbox("all")) fen.mainloop()
Partager