How to clear the text field part of ttk.Combobox in tkinter?

The Combobox widget is a versatile tkinter widget that creates a dropdown list containing selectable values. When you need to clear the selected text from a combobox, you can use the set('') method to reset it to an empty state.

Basic Syntax

To clear a combobox text field ?

combobox_widget.set('')

Complete Example

Here's a working example that demonstrates how to clear a combobox using a button ?

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Create a function to clear the combobox
def clear_cb():
    cb.set('')
    
# Define Days Tuple
days = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')

# Create a combobox widget
var = StringVar()
cb = ttk.Combobox(win, textvariable=var)
cb['values'] = days
cb['state'] = 'readonly'
cb.pack(fill='x', padx=5, pady=5)

# Create a button to clear the selected combobox text value
button = Button(win, text="Clear", command=clear_cb)
button.pack()

win.mainloop()

How It Works

The clear_cb() function uses cb.set('') to set the combobox value to an empty string. When the "Clear" button is clicked, it calls this function and removes any selected text from the combobox widget.

Alternative Methods

You can also clear the combobox by setting it to a specific default value ?

from tkinter import *
from tkinter import ttk

win = Tk()
win.geometry("400x200")

def clear_to_default():
    cb.set("Select a day")

days = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')
cb = ttk.Combobox(win, values=days)
cb.set("Select a day")  # Default text
cb.pack(pady=10)

Button(win, text="Clear to Default", command=clear_to_default).pack()

win.mainloop()

Key Points

  • Use set('') to completely clear the combobox text
  • Use set('default_text') to reset to a default value
  • The textvariable parameter is optional but useful for accessing the value
  • Setting state='readonly' prevents manual text entry

Conclusion

Clearing a ttk.Combobox is straightforward using the set('') method. This approach works for both readonly and editable comboboxes, giving you complete control over the widget's displayed value.

---
Updated on: 2026-03-26T18:48:33+05:30

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements