Tkinter의 Listbox(리스트박스) 위젯은 여러 항목으로 구성된 목록을 만들 때 일반적으로 사용됩니다. 숫자나 문자열 등 다양한 데이터를 저장할 수 있으며, 항목 선택 및 편집과 같은 유용한 기능도 함께 제공합니다.
리스트박스의 항목을 편집하려면 먼저 listbox.curselection() 함수를 사용해 현재 선택된 항목을 가져온 뒤, 해당 항목을 삭제하고 새로운 항목을 삽입하는 과정을 거쳐야 합니다. 새 항목을 추가할 때는 listbox.insert(**items) 함수를 활용하면 됩니다.
예제 코드
다음 예제에서는 리스트박스 위젯에 여러 항목을 생성한 후, 버튼을 클릭하여 선택한 항목을 편집하는 방법을 살펴보겠습니다.
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x350")
# Listbox 위젯 생성
lb = Listbox(win, width=100, height=10, background="purple2", foreground="white", font=('Times 13'), selectbackground="black")
lb.pack()
# 먼저 선택된 항목을 삭제한 후,
# 삭제된 자리에 새로운 항목을 삽입합니다.
def edit():
for item in lb.curselection():
lb.delete(item)
lb.insert("end", "foo")
# Listbox에 항목 추가
lb.insert("end", "item1", "item2", "item3", "item4", "item5")
# 항목을 편집·삭제하는 버튼 추가
ttk.Button(win, text="Edit", command=edit).pack()
win.mainloop()실행 결과
위 코드를 실행하면 목록의 항목을 자유롭게 선택하고 편집할 수 있습니다.

"Edit" 버튼을 클릭하면 선택한 항목이 삭제되고, 그 자리에 새로운 내용이 삽입되어 목록이 갱신됩니다.
