如何在Tkinter中使用OptionMenu小部件调用函数?
让我们通过一个例子来看看如何在Tkinter中使用OptionMenu小部件调用函数。在这个例子中,我们将使用一个 StringVar 对象并调用其get()方法。Tkinter中的 StringVar 对象可以帮助管理小部件的值。
我们将创建一个OptionMenu小部件并使用字符串列表填充它。当用户选择选项时,它将调用一个函数,该函数将所选选项打印为标签。
步骤−
- 导入tkinter库并创建tkinter框架的实例。
-
使用 geometry 方法设置框架的大小。
-
创建一组字符串并将其保存在变量 data 中。
-
接下来,使用 StringVar() 构造函数创建一个 StringVar 对象。它有助于管理小部件的值,这在此处是一个 OptionMenu 。
-
创建一个字符串列表 “options” 和一个 OptionMenu 。通过传递 StringVar 对象和 “options” 来设置OptionMenu的值。
-
创建一个标签以显示OptionMenu中选择的选项。
-
创建一个用户定义的函数 “OptionMenu_Select” ,以在标签中打印OptionMenu中选择的项目。
-
在用户选择选项时使用参数 command=OptionMenu_Select 来调用用户定义的函数。
-
最后,运行应用程序窗口的 mainloop 。
示例
# 导入tkinter库
from tkinter import *
# 创建tkinter框架的实例
root = Tk()
root.geometry("700x300")
# 创建选项和复选框事件
def OptionMenu_Select(event):
label_city.config(text="You have selected: " + var.get())
# 创建变量
var = StringVar();
var.set("Select a City")
options = ["Mumbai", "Chennai", "Bhubaneswar", "Pune", "Patna", "Bhopal", "Surat", "Hyderabad", "New Delhi", "Lucknow"]
OptionMenu(root, var, *(options), command=OptionMenu_Select).pack(pady=50)
label_city=Label(root, font="Calibri,12,bold")
label_city.pack(padx=20, pady=20)
root.mainloop()
输出
它将产生以下输出−
当用户选择选项时,它将显示所选选项作为标签−