How to Get Index of Selected Option inTkinter Combobox
13,454
Solution 1
Use the current
method on the combobox.
import Tkinter
import tkMessageBox
from Tkinter import *
import ttk
from 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()
Solution 2
Yes you can if you combine bind()
with current()
.
Here is a quick demo:
import Tkinter
import tkMessageBox
from Tkinter import *
import ttk
from 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()
Author by
Behseini
Updated on June 24, 2022Comments
-
Behseini almost 2 years
Following code lets me to print out the selected value from the Combobox, but I need to print(get) the indexnumber of selected item in the list. Can you please let me know how to do that?
import Tkinter import tkMessageBox from Tkinter import * import ttk from ttk import * app = Tk() 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) app.mainloop()