如何在 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**。

示例

# Import the tkinter library
from tkinter import *

# Create an instance of tkinter frame
root = Tk()
root.geometry("700x300")

# Create the option and Check Button Event
def OptionMenu_Select(event):
label_city.config(text="You have selected: " + var.get())

# Create the variables
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()

输出

它将产生以下输出:

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

更新于:2021-10-26

4K+ 次浏览

开启您的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.