Bonjour,
Soit:
J'aimerais implémenter le code de façon à l'appeler à la manière d'un input().
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 import tkinter as tk class A: def __init__(self, root): root.bind('<Key>', self.do) self.attr = tk.StringVar() def do(self, evt): """ attribut sera dispo qu'après l'usage de return""" if evt.keycode == 36: self.attr.set("patati patata") root = tk.Tk() a = A(root) def tr(*arg): """ Quand l'attribut est disponible je le récupère/affiche """ print('ok', a.attr.get()) a.attr.trace_add('write', tr) root.mainloop()
(En d'autres termes, j'aimerais que initialisation de la classe A ne rende la main que quand l'attribut est disponible)
Résultat souhaité:
J'ai essayé en vain plusieurs approches, mais je tourne en rond...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 import tkinter as tk class A: ... root = tk.Tk() a = A(root) print(a) #retournant "patati patata" root.mainloop()
Comment dois-je m'y prendre?
(Du moins si je ne cours pas après une chimère)
Partager