如何使用 Tkinter 中的 OptionMenu 小部件调用函数?
tkinterpythongui-programming
让我们举一个例子,看看如何使用 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()
输出
它负责产生以下输出 −
当用户选择一个选项时,它将显示所选选项 作为标签 −