2017-05-23 5 views
-1

Ich habe eine einfache OptionMenu wieÄndern der Auswahl eines OptionMenu programmatisch

import Tkinter as tk 

optionList = ('a', 'b', 'c') 
v = tk.StringVar() 
v.set(optionList[0]) 
om = tk.OptionMenu(self, v, *optionList) 

Diese Liste mit a als Standard erscheint definiert, die in Ordnung ist. Aber es sind auch Befehlsschaltflächen definiert, die eventuell geändert werden müssen, um eine andere der verfügbaren Optionen anzuzeigen (z. B. b). Wie kann dies erreicht werden?

Antwort

2

Sie haben bereits einen Weg gefunden, einen Standardwert festzulegen und zu ändern. Sie haben die v Variable zu diesem OptionMenu Widget zugeordnet. Wenn Sie den Wert dieser Variablen jederzeit ändern, wird Ihr Widget aktualisiert:

import tkinter as tk 

root = tk.Tk() 
optionList = ('a', 'b', 'c') 
v = tk.StringVar() 
v.set(optionList[0]) # Here is the initially selected value 
om = tk.OptionMenu(root, v, *optionList) 
om.pack() 

v.set(optionList[2]) # This one will be the final selected value 
root.mainloop() 
+0

Natürlich :-) Danke! –

Verwandte Themen