Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Tkinter ttk.Treeview 위젯에서 항목을 지우는 방법


Tkinter의 트리뷰(Treeview) 위젯은 일반적으로 입력 데이터를 바탕으로 표를 만들거나 구성하는 데 사용됩니다. 또한 트리뷰 위젯에 항목을 추가해 애플리케이션 안에서 중첩된 목록을 관리할 수도 있습니다.

트리뷰 위젯에 있는 항목을 모두 제거하거나 초기화하려면 먼저 get_children() 메서드를 사용해 트리뷰에 존재하는 모든 항목을 선택해야 합니다. 이렇게 프로그래밍 방식으로 전체 항목을 가져온 뒤에는 delete(item) 메서드를 호출해 해당 항목들을 삭제할 수 있습니다. 모든 자식 항목을 한 번에 처리하려면 반복문 안에서 delete() 메서드를 실행하면 됩니다.

예제 코드

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# tkinter 프레임 인스턴스 생성
win= Tk()

# tkinter 윈도우 크기 설정
win.geometry("700x350")
s = ttk.Style()
s.theme_use('clam')

# Treeview의 모든 항목을 지우는 함수 정의
def clear_all():
   for item in tree.get_children():
      tree.delete(item)

# Treeview 위젯 추가
tree= ttk.Treeview(win, column=("c1", "c2"), show= 'headings', height= 6)
tree.column("# 1",anchor=CENTER)
tree.heading("# 1", text= "ID")
tree.column("# 2", anchor= CENTER)
tree.heading("# 2", text= "FName")

# Treeview 위젯에 데이터 삽입
tree.insert('', 'end',text= "1",values=('1','Honda'))
tree.insert('', 'end',text= "2",values=('2', 'Hyundai'))
tree.insert('', 'end',text= "3",values=('3', 'Tesla'))
tree.insert('', 'end',text= "4",values=('4', 'Volkswagen'))
tree.insert('', 'end',text= "5",values=('5', 'Tata'))
tree.insert('', 'end',text= "6",values=('6', 'Renault'))

tree.pack()

# Treeview 항목을 지우는 버튼 생성
ttk.Button(win, text= "Clear", command= clear_all).pack(pady=10)

win.mainloop()

실행 결과

위 코드를 실행하면 표와 버튼 위젯이 함께 표시되는 창이 나타납니다.

Tkinter ttk.Treeview 위젯에서 항목을 지우는 방법

이후 버튼을 클릭하면 트리뷰 위젯에 있던 모든 내용이 한 번에 삭제됩니다.