Seite 1 von 1

Tkinter OptionMenu soll eine Liste zur Auswahl stellen

Verfasst: Montag 11. März 2013, 13:47
von Meeper
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^^

Re: Tkinter OptionMenu soll eine Liste zur Auswahl stellen

Verfasst: Montag 11. März 2013, 13:54
von Meeper
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()

Re: Tkinter OptionMenu soll eine Liste zur Auswahl stellen

Verfasst: Montag 11. März 2013, 14:47
von BlackJack
@Meeper: Die Information ist veraltet: `apply()` sollte man nicht mehr verwenden. Schau Dir mal die Bedeutung von ``*`` bei Funktionsaufrufen an.

Re: Tkinter OptionMenu soll eine Liste zur Auswahl stellen

Verfasst: Montag 11. März 2013, 21:49
von Meeper
danke BlackJack! :D
hat funktioniert ;)

Code: Alles auswählen

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