Tkinter OptionMenu soll eine Liste zur Auswahl stellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Meeper
User
Beiträge: 15
Registriert: Donnerstag 14. Februar 2013, 17:41

Hi Leute,
das Tkinter OptionMenu-Widget, was ein pop-down-fenster öffnet, aus dem man wählen kann (kann übrigens folgendermaßen erstellt werden: )

Code: Alles auswählen

from tkinter import *
master=Tk()
variable=StringVar(master)
l1 = OptionMenu(master, variable, "eins", "zwei", "drei")
l1.pack()
mainloop()
-> würde ein OptionMenu mit den Wahloptionen "eins", "zwei" und "drei" ausgeben.

meine Frage ist nun: wie kann ich als Auswahloptionen die einzelnen elemente einer Liste bekommen? ich hab bereits eine Liste statt "eins", "zwei", "drei" hingeschrieben, aber dann kommt nur ein einziges Auswahlelement, was jedes Element der Liste, jeweils in geschweiften Klammern {} enthält.
ich hätte aber gerne jedes einzeln zur Auswahl :)
kann mir vllt jemand helfen? :D
thx

und wo wir grad dabei sind: kann mir bitte jemand erklären was dieses

Code: Alles auswählen

variable=StringVar(master)
bedeutet und soll? ich hab den code dafür im internet gefunden, und weiß nur dass es ohne nicht klappt... thx^^
Meeper
User
Beiträge: 15
Registriert: Donnerstag 14. Februar 2013, 17:41

ok, danke habs schon selber geschafft :D
geholfen hat mir http://effbot.org/tkinterbook/optionmenu.htm

der code:

Code: Alles auswählen

from tkinter import *
OPTIONS=["lol","bunny"]
masterr=Tk()
variable = StringVar(master)
w = apply(OptionMenu, (master, variable) + tuple(OPTIONS))
w.pack()
BlackJack

@Meeper: Die Information ist veraltet: `apply()` sollte man nicht mehr verwenden. Schau Dir mal die Bedeutung von ``*`` bei Funktionsaufrufen an.
Meeper
User
Beiträge: 15
Registriert: Donnerstag 14. Februar 2013, 17:41

danke BlackJack! :D
hat funktioniert ;)

Code: Alles auswählen

#...
liste=["eins", "zwei", "drei"]
l1 = OptionMenu(master, variable, *liste)
#...
Antworten