tkinter의 Combobox(콤보박스) 위젯은 드롭다운 목록을 만들 수 있는 매우 유용한 위젯입니다. 사용자는 드롭다운 목록에서 값을 선택할 수 있으며, 선택한 값은 콤보박스에 표시됩니다. 콤보박스 위젯은 Combobox(root, width, text) 생성자를 초기화하여 간단히 만들 수 있습니다.
그렇다면 이미 선택된 값을 지우고 싶을 때는 어떻게 해야 할까요? 가장 간단한 방법은 set(' ') 메서드를 사용해 콤보박스의 값을 빈 문자열로 설정하는 것입니다. 아래 예제를 통해 실제 구현 방법을 살펴보겠습니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x350")
# 콤보박스를 지우는 함수 정의
def clear_cb():
cb.set('')
# 요일 튜플 정의
days= ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')
# 콤보박스 위젯 생성
var= StringVar()
cb= ttk.Combobox(win, textvariable= var)
cb['values']= days
cb['state']= 'readonly'
cb.pack(fill='x',padx= 5, pady=5)
# 선택된 콤보박스 텍스트를 지우는 버튼 생성
button = Button(win, text= "Clear", command= clear_cb)
button.pack()
win.mainloop()실행 결과
위 코드를 실행하면 콤보박스 위젯과 함께 선택된 값을 지울 수 있는 "Clear" 버튼이 포함된 윈도우가 화면에 나타납니다.

이제 "Clear" 버튼을 클릭하면 콤보박스에서 선택했던 값이 즉시 사라지고 텍스트 필드가 비어 있는 것을 확인할 수 있습니다.

핵심 정리
ttk.Combobox의 텍스트 필드를 지우는 핵심은 set('') 메서드입니다. 이처럼 textvariable에 연결된 StringVar 변수를 통해 값을 제어하면, 사용자 입력 초기화나 폼 리셋 기능 등 다양한 상황에서 손쉽게 활용할 수 있습니다. 또한 state='readonly' 옵션을 설정하면 사용자가 임의로 텍스트를 입력하는 것을 막고, 목록에서만 값을 선택하도록 제한할 수 있어 UI의 안정성을 높일 수 있습니다.