如何在Tkinter Combobox中获取所选选项的索引?

如何在Tkinter Combobox中获取所选选项的索引?

如果您想创建一个下拉列表并允许用户选择列表中的项目,则可以使用Combobox小部件。 Combobox小部件允许您创建下拉列表,其中可以立即选择项目列表。 但是,如果您想获取组合框小部件中所选项目的索引,则可以使用get()方法。 get()方法返回所选项目的整数,称为项目的索引。

例子

让我们举一个例子来看看它是如何工作的。 在此示例中,我们已经创建了一周中的日子列表的下拉列表,每当用户从下拉列表中选择一天时,它将打印并显示所选项目的索引在Label小部件中。 为了打印索引,我们可以将给定的索引强制转换为字符串来连接字符串。

# 导入所需的库
from tkinter import *
from tkinter import ttk

# 创建一个Tkinter窗口实例
win = Tk()

# 设置窗口的大小
win.geometry("700x350")

# 创建一个函数来清除Combobox小部件
def clear_cb():
   cb.set('')
   
# 定义Days元组
days= ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')

# 在Combobox中打印所选选项的索引的函数
def callback(*arg):
   Label(win, text= "The value at index " + str(cb.current()) + " is" + " "+ str(var.get()), font= ('Helvetica 12')).pack()
   
# 创建Combobox小部件
var= StringVar()
cb= ttk.Combobox(win, textvariable= var)
cb['values']= days
cb['state']= 'readonly'
cb.pack(fill='x',padx= 5, pady=5)

# 为给定的变量设置跟踪
var.trace('w', callback)

# 创建一个按钮以清除所选的Combobox文本值
button= Button(win, text= "Clear", command= clear_cb)
button.pack()

win.mainloop()

输出

运行上述代码将显示带有天数列表的Combobox小部件。每当您从列表中选择一天时,它将在标签小部件上打印索引和相应的项目。

如何在Tkinter Combobox中获取所选选项的索引?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程