Je crée une interface graphique qui construit des informations sur une personne. Je veux que l'utilisateur sélectionne son mois de naissance à l'aide d'une barre déroulante, avec les mois configurés plus tôt comme format de liste.
from tkinter import *
birth_month = [
'Jan',
'Feb',
'March',
'April'
] #etc
def click():
entered_text = entry.get()
Data = Tk()
Data.title('Data') #Title
label = Label(Data, text='Birth month select:')
label.grid(row=2, column=0, sticky=W) #Select title
Comment créer une liste déroulante pour afficher les mois?
Pour créer un "menu déroulant", vous pouvez utiliser OptionMenu
dans tkinter
Exemple de base OptionMenu
:
from Tkinter import *
master = Tk()
variable = StringVar(master)
variable.set("one") # default value
w = OptionMenu(master, variable, "one", "two", "three")
w.pack()
mainloop()
Plus d'informations (y compris le script ci-dessus) peuvent être trouvées ici .
Créer un OptionMenu
des mois à partir d'une liste serait aussi simple que:
from tkinter import *
OPTIONS = [
"Jan",
"Feb",
"Mar"
] #etc
master = Tk()
variable = StringVar(master)
variable.set(OPTIONS[0]) # default value
w = OptionMenu(master, variable, *OPTIONS)
w.pack()
mainloop()
Pour récupérer la valeur sélectionnée par l'utilisateur, vous pouvez simplement utiliser un .get()
sur la variable que nous avons affectée au widget. Dans le cas ci-dessous, il s'agit de variable
:
from tkinter import *
OPTIONS = [
"Jan",
"Feb",
"Mar"
] #etc
master = Tk()
variable = StringVar(master)
variable.set(OPTIONS[0]) # default value
w = OptionMenu(master, variable, *OPTIONS)
w.pack()
def ok():
print ("value is:" + variable.get())
button = Button(master, text="OK", command=ok)
button.pack()
mainloop()
Je recommande fortement de lire ce site pour plus d’informations de base sur tkinter car les exemples ci-dessus sont modifiés à partir de ce site.