下拉式列表 OptionMenu 简介
OptionMenu 可以翻译为下拉式列表
,用户可以从中选择一项,构造方法如下
OptionMenu(父对象, options, *value)
其中,*value
是一系列下拉列表,下面详细写出
建立基本的OptionMenu
例子
:
import tkinter
root = tkinter.Tk()
var = tkinter.StringVar()
optionMenu = tkinter.OptionMenu(root, var, 'python', 'java', 'C', 'C++', 'C#')
optionMenu.pack()
root.mainloop()
运行结果:
选择一项后,选项会更改
使用元组建立列表项目
例子
:
import tkinter
root = tkinter.Tk()
tupleVar = ('python', 'java', 'C', 'C++', 'C#')
var = tkinter.StringVar()
# 这里必须要带*号,要不然解释器会认为是一个数据,只会显示一行的
optionMenu = tkinter.OptionMenu(root, var, *tupleVar)
optionMenu.pack()
root.mainloop()
运行结果跟上面一样
建立默认选项 set()
在程序刚执行时,没有看到任何项目,不过我们可以使用 set() 方法为这个 OptionMenu 建立默认选项
例子
:
import tkinter
root = tkinter.Tk()
tupleVar = ('python', 'java', 'C', 'C++', 'C#')
var = tkinter.StringVar()
var.set('python')
# 这里必须要带*号,要不然解释器会认为是一个数据,只会显示一行的
optionMenu = tkinter.OptionMenu(root, var, *tupleVar)
optionMenu.pack()
root.mainloop()
运行结果:
当然,我们可以使用元组变量名称 + 索引
方式来设置默认值
例子
:
var.set(tupleVar[0])
运行结果跟上面一样
获得选项内容 get()
例子
:
import tkinter
def show():
varLabel.set(var.get())
root = tkinter.Tk()
tupleVar = ('python', 'java', 'C', 'C++', 'C#')
var = tkinter.StringVar()
var.set(tupleVar[0])
optionMenu = tkinter.OptionMenu(root, var, *tupleVar)
optionMenu.pack()
varLabel = tkinter.StringVar()
label = tkinter.Label(root, textvariable=varLabel, width=20, height=3, bg='lightblue', fg='red')
label.pack()
button = tkinter.Button(root, text='print', command=show)
button.pack()
root.mainloop()
运行结果:
谢谢观看,笔者会持续更新,如有错误或者建议,请私信我