如何从Tkinter中的List创建下拉菜单?

时间:2017-08-01 15:27:23

标签: python drop-down-menu tkinter

我正在创建一个用于构建人员信息的GUI。我希望用户使用下拉栏选择他们的出生月份,将之前配置的月份作为列表格式。

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

如何创建下拉列表以显示月份?

1 个答案:

答案 0 :(得分:26)

创建一个"下拉菜单"你可以在tkinter中使用OptionMenu

基本OptionMenu

的示例
from Tkinter import *

master = Tk()

variable = StringVar(master)
variable.set("one") # default value

w = OptionMenu(master, variable, "one", "two", "three")
w.pack()

mainloop()

可以找到更多信息(包括上面的脚本)here

从列表中创建OptionMenu个月将非常简单:

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()

为了检索用户选择的值,您只需对我们分配给窗口小部件的变量使用.get(),在下面的示例中为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()

我强烈建议您通过this site阅读更多基本的tkinter信息,因为上述示例是从该网站修改的。