如何使用 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 调用用户定义函数。

  • 最后,运行应用程序窗口的 ma​​inloop

示例


# 导入 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()

输出

它负责产生以下输出 −

当用户选择一个选项时,它将显示所选选项 作为标签 −


相关文章