Python Tkinter 中的组合框小部件

pythontkinterserver side programmingprogramming

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

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

使用 tkinter 创建组合框小部件

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

步骤 1:导入所需模块

我们首先需要导入制作组合框所需的模块。我们必须导入 python 的 tkinter 模块,该模块提供对高级 Tk 小部件的访问。

from tkinter import *
from tkinter import ttk

步骤 2:创建 Tk 类的实例

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

root = Tk()
root.title("组合框示例")
root.geometry('300x300')

步骤 3:创建 Combobox 小部件

然后我们使用 ttk.Combobox() 方法创建一个 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("组合框示例")
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("您选择了:", selected_option)
combo.bind("<<ComboboxSelected>>", option_selected)
root.mainloop()

输出

以下是代码的输出 −

从下拉列表中选择任何这些选项后,我们将在终端中收到一条消息,如下所示 −

您选择了:选项 4

结论

在本文中,我们讨论了如何使用 tkinter 模块在 python 中创建组合框小部件。我们制作了一个下拉菜单列表,其中包含 5 个不同的选项,用户可以选择任何选项。我们完成了制作组合框小部件所需的不同步骤,例如设置值、处理事件等。


相关文章