Open In App
Related Articles

Autocomplete ComboBox in Python-Tkinter

Improve Article
Save Article
Like Article

Prerequisites: Python GUI – tkinter

The Listbox widget is used to display a list of items from which a user can select a number of items. But have you ever wondered, how to return the list of possible results when a key is pressed? Let’s see the following approach towards the same.

Working of Program

  • List consisting of words is initialized.
  • Entry box and Listbox are created and are added to the root window.
  • Bind function is used for event handling. Key release event is handled for an Entry field.
  • When any key is pressed in the Entry, checkkey() function is called.
  • checkkey() function then compares the entered string with existing list keywords and populates Listbox with matching keywords.
  • Then this data is sent to update function which then updates the Listbox.

Below is the approach.

from tkinter import *
# Function for checking the
# key pressed and updating
# the listbox
def checkkey(event):
    value = event.widget.get()
    # get data from l
    if value == '':
        data = l
        data = []
        for item in l:
            if value.lower() in item.lower():
    # update data in listbox
def update(data):
    # clear previous data
    lb.delete(0, 'end')
    # put new data
    for item in data:
        lb.insert('end', item)
# Driver code
l = ('C','C++','Java',
     'PHP','ASP','JS' )
root = Tk()
#creating text box 
e = Entry(root)
e.bind('<KeyRelease>', checkkey)
#creating list box
lb = Listbox(root)



Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 20 Dec, 2022
Like Article
Save Article
Similar Reads
Complete Tutorials