How to Get Index of Selected Option inTkinter Combobox
Use the current
method on the combobox.
import Tkinterimport tkMessageBoxfrom Tkinter import *import ttkfrom ttk import *app = Tk()def OptionCallBack(*args): print variable.get() print so.current()variable = StringVar(app)variable.set("Select From List")variable.trace('w', OptionCallBack)so = ttk.Combobox(app, textvariable=variable)so.config(values =('Tracing Upstream', 'Tracing Downstream','Find Path'))so.grid(row=1, column=4, sticky='E', padx=10)app.mainloop()
Yes you can if you combine bind()
with current()
.
Here is a quick demo:
import Tkinterimport tkMessageBoxfrom Tkinter import *import ttkfrom ttk import *app = Tk()def display_selected_item_index(event): global so print 'index of this item is: {}\n'.format(so.current())def OptionCallBack(*args): print variable.get()variable = StringVar(app)variable.set("Select From List")variable.trace('w', OptionCallBack)so = ttk.Combobox(app, textvariable=variable)so.config(values =('Tracing Upstream', 'Tracing Downstream','Find Path'))so.grid(row=1, column=4, sticky='E', padx=10) so.bind("<<ComboboxSelected>>", display_selected_item_index) app.mainloop()