Python之tkinter 下拉式列表 OptionMenu

下拉式列表 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()

运行结果:
在这里插入图片描述

谢谢观看,笔者会持续更新,如有错误或者建议,请私信我

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章