使用Python Tkinter创建Combobox小部件

使用Python Tkinter创建Combobox小部件

Tkinter是Python绑定Tk GUI工具包的库。它是Tk GUI工具箱的标准Python接口,也是Python的标准GUI。Tkinter包括在Python的标准Linux、Microsoft Windows和macOS安装中。我们可以使用Python的tkinter模块创建许多小部件(widgets)。其中之一多个小部件是Combobox,这是一个非常常用的强大工具,可以定制列表以允许用户从给定选项列表中选择一个或多个选项。

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

使用tkinter创建Combobox小部件

要使用Python的Tkinter模块创建一个下拉列表,需要遵循以下步骤 –

第1步:导入所需的模块

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

from tkinter import *
from tkinter import ttk

第2步:创建Tk类的实例

接下来,我们创建Tk类的实例,定义窗口的大小并为其命名 –

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

第3步:创建Combobox小部件

然后,我们使用ttk.Combobox()方法创建Combobox小部件 –

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

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

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

我们可以使用“value”参数向Combobox添加选项 –

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

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

第5步:获取和设置值

要从Combobox中获取当前选择的值,我们可以使用get()方法 –

selected_option = combo.get()

这将返回一个字符串,其中包含当前选定的选项。

第6步:处理事件

我们可以使用bind()方法处理Combobox的事件。例如,如果我们想要在用户选择选项时执行函数,我们可以绑定<<ComboboxSelected>>事件 –

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

我们定义了一个名为option_selected的函数,该函数在用户从Combobox中选择选项时执行。此功能使用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=["选项1", "选项2", "选项3", "选项4", "选项5"])
combo.pack()
def option_selected(event):
   selected_option = combo.get()
   print("您选择了:", selected_option)
combo.bind("<<ComboboxSelected>>", option_selected)
root.mainloop()

输出

以下是代码输出的结果 −

使用Python Tkinter创建Combobox小部件

从下拉菜单中选择任何一个选项后,我们将在终端中得到如下所示的消息 −

You selected: Option 4

结论

在这篇文章中,我们讨论了如何使用Python的tkinter模块创建一个组合框小部件。我们创建了一个具有5个不同选项的下拉菜单列表,用户可以选择任何选项。我们介绍了创建组合框小部件所需的不同步骤,如设置值、处理事件等。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程