Skip to content Skip to sidebar Skip to footer

How To Get Index Of Selected Option Intkinter Combobox

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 d

Solution 1:

Use the current method on the combobox.

import Tkinter
import tkMessageBox
from Tkinter import *
import ttk
from ttk import *

app = Tk()

defOptionCallBack(*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()

defdisplay_selected_item_index(event): 
   global so
   print'index of this item is: {}\n'.format(so.current())

defOptionCallBack(*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()

Post a Comment for "How To Get Index Of Selected Option Intkinter Combobox"