Das mit der tkinter.Variable und trace(), ist eine feine Sache.
Das von Dir anfangs beschriebene '`textvariable`-Argument von `Entry.__init__()`', ist mir noch nicht so klar.
Wenn das durch meine unteren Beispiele, sich nicht erledigt hat, wäre ein kurzes Beispiel zum Verständnis gut.
Bei mir sieht das so aus (kleiner Auszug):
Code: Alles auswählen
# Kontrolle auf Veränderung, bei Spaltennamen.
bc = dict()
for name in ['bdatum', 'auftrag', 'datum', 'nummer']:
try:
bc[self.controller.head_names._fields.index(name)] = True
except ValueError:
pass
........
for i in self.header[0]:
entry = self.header[0][i]
var = tk.StringVar()
var.set(entry)
try:
# Controlling Entry auf Veränderung.
bc[i]
var.trace('w', self.button_control)
except KeyError:
pass
data.append(var)
tk.Entry(self.head_0E, width=width, bg=self.col5, fg=self.col1,
font=self.txt2, text=var).grid(row=0, column=i, padx=px,
pady=py, sticky=tk.NSEW)
Und bei Kontrolle von Checkbutton:
Code: Alles auswählen
[int_var.trace('r', self.button_control)
for int_var in self.check_vars]
Grüße Nobuddy