Python Tkinter 中的组合框控件


Tkinter 是 Python 对 Tk GUI 工具包的绑定。它是 Tk GUI 工具包的标准 Python 接口,也是 Python 的标准 GUI。Tkinter 包含在 Python 的标准 Linux、Microsoft Windows 和 macOS 安装中。我们可以从 Python 的 tkinter 模块创建许多控件。这些控件之一是组合框,它是一个非常广泛使用的强大工具,可以自定义以创建列表,允许用户从给定选项列表中选择一个或多个选项。

组合框控件将文本输入与下拉列表结合起来,允许用户直接在输入框中键入和/或从列表中选择任何项目。此控件用于用户必须从有限数量的给定选项中选择一个或多个选项的地方。

使用 Tkinter 创建组合框控件

要使用 Python 的 Tkinter 模块创建此组合框控件以创建具有多个选项的下拉列表,我们需要遵循以下步骤:

步骤 1:导入所需的模块

我们需要首先导入创建组合框所需的模块。我们必须导入 Python 的 tkinter 模块,它提供了对高级 Tk 控件的访问。

from tkinter import *
from tkinter import ttk

步骤 2:创建 Tk 类的实例

接下来,我们创建 Tk 类的实例,定义窗口的大小并为其指定标题:

root = Tk()
root.title("Combobox Example")
root.geometry('300x300')

步骤 3:创建组合框控件

然后,我们使用 ttk.Combobox() 方法创建组合框控件:

combo = ttk.Combobox(root)
combo.pack()

这将创建一个没有选项的组合框控件。

步骤 4:向下拉菜单添加选项

我们可以使用“values”参数向组合框添加选项:

combo = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"])
combo.pack()

这将创建一个带有 5 个选项的下拉菜单:“选项 1”、“选项 2”、“选项 3”、“选项 4”和“选项 5”。

步骤 5:获取和设置值

要从组合框获取当前选定的值,我们可以使用 get() 方法:

selected_option = combo.get()

这将返回当前选定的选项作为字符串。

步骤 6:处理事件

我们可以使用 bind() 方法处理组合框的事件。例如,如果我们希望在用户选择选项时执行某个函数,我们可以绑定“<<ComboboxSelected>>”事件:

def option_selected(event):
   print(combo.get())
combo.bind("<<ComboboxSelected>>", option_selected)

我们定义了一个名为 option_selected 的函数,该函数在用户从组合框中选择选项时执行。此函数使用 combo.get() 获取当前选定的选项,然后使用 print() 函数打印消息。

步骤 7:显示窗口

以下代码行将开始显示组合框的 GUI。

root.mainloop()

示例

以下是程序的完整源代码:

from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Combobox Example")
root.geometry('300x300')
combo = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"])
combo.pack()
def option_selected(event):
   selected_option = combo.get()
   print("You selected:", selected_option)
combo.bind("<<ComboboxSelected>>", option_selected)
root.mainloop()

输出

以下是代码的输出:

从下拉菜单中选择任何选项,我们将在终端中获得如下所示的消息:

You selected: Option 4

结论

在本文中,我们讨论了如何使用其 tkinter 模块在 Python 中创建组合框控件。我们创建了一个带有 5 个不同选项的下拉菜单列表,用户可以选择任何选项。我们回顾了创建组合框控件所需的不同的步骤,例如设置值、处理事件等。

更新于: 2023 年 4 月 20 日

15K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始
广告