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

Tkinter Treeview에서 Ctrl 키로 여러 항목을 선택하는 방법

Tkinter의 Treeview 위젯은 데이터를 표(table) 형태로 보여주고, 사용자가 해당 데이터를 조회하거나 수정할 수 있도록 지원하는 GUI 요소입니다. Treeview를 활용하면 열(column)을 추가하고 행(row)에 데이터를 삽입해 정보를 체계적으로 정리할 수 있습니다.

그런데 실제 애플리케이션을 만들다 보면 한 번에 여러 개의 행을 선택해야 하는 경우가 자주 발생합니다. 이럴 때는 Ctrl 키를 누른 상태에서 원하는 행을 클릭하기만 하면 됩니다. Ctrl 키를 누른 채 여러 행을 차례로 클릭하면 각 행이 개별적으로 선택되어 손쉽게 다중 선택을 할 수 있습니다.

예제 코드

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

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

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

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

# Treeview 위젯에 데이터 삽입
tree.insert('', 'end', text="1", values=('1', 'Joe', 'Nash'))
tree.insert('', 'end', text="2", values=('2', 'Emily', 'Mackmohan'))
tree.insert('', 'end', text="3", values=('3', 'Estilla', 'Roffe'))
tree.insert('', 'end', text="4", values=('4', 'Percy', 'Andrews'))
tree.insert('', 'end', text="5", values=('5', 'Stephan', 'Heyward'))

tree.pack()

win.mainloop()

실행 결과

위 코드를 실행하면 여러 항목이 담긴 표가 화면에 출력됩니다.

Tkinter Treeview에서 Ctrl 키로 여러 항목을 선택하는 방법

이제 Ctrl 키를 누른 상태에서 표의 행들을 클릭하면 한 번에 여러 행을 선택할 수 있습니다.

참고: 연속된 범위 선택과 selectmode 옵션

여러 행 중 연속된 구간을 한꺼번에 선택하고 싶다면, 시작 행을 클릭한 뒤 Shift 키를 누른 채 마지막 행을 클릭하면 됩니다. 두 행 사이의 모든 항목이 함께 선택됩니다.

또한 ttk.Treeview의 기본 selectmode 값은 "extended"로, 별도의 설정 없이도 다중 선택이 가능합니다. 만약 하나의 행만 선택되도록 제한하고 싶다면 selectmode="browse"로 지정하면 됩니다.