如何获取 Tkinter 组合框中所选选项的索引?
tkinterpythongui-programming更新于 2024/1/30 9:48:17
如果您想要创建一个下拉列表,并允许用户选择列表中的项目,那么您可以使用组合框小部件。组合框小部件允许您创建一个下拉列表,其中的项目列表可以立即选择。但是,如果您想获取组合框小部件中所选项目的索引,那么您可以使用 get() 方法。get() 方法返回所选项目的整数,称为项目的索引。
示例
让我们举一个例子来看看它是如何工作的。在这个例子中,我们在下拉列表中创建了一个星期几的列表,每当用户从下拉列表中选择一天时,它都会在标签小部件上打印并显示所选项目的索引。要打印索引,我们可以通过将给定的索引类型转换为字符串来连接字符串。
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建 tkinter 框架或窗口的实例
win = Tk()
# 设置窗口的大小
win.geometry("700x350")
# 创建一个函数来清除组合框
def clear_cb():
cb.set('')
# 定义天数元组
days= ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')
# 用于打印组合框中所选选项的索引的函数
def callback(*arg):
Label(win, text= "The value at index " + str(cb.current()) + " is" + " "+ str(var.get()), font= ('Helvetica 12')).pack()
# 创建组合框小部件
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)
# 创建一个按钮来清除所选组合框文本值
button= Button(win, text= "Clear", command= clear_cb)
button.pack()
win.mainloop()
输出
运行上述代码将显示一个带有日期列表的组合框小部件。每当您从列表中选择一天时,它都会在标签小部件上打印索引和相应的项目。

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

