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

Tkinter Treeview 위젯에서 다중 선택 비활성화하는 방법

Treeview 위젯은 여러 항목을 열(column) 형태로 표시할 때 사용하는 Tkinter의 대표적인 위젯입니다. 기본적으로 Treeview 위젯에 나열된 항목들은 여러 개를 동시에 선택할 수 있지만, 생성자에서 selectmode="browse" 옵션을 지정하면 이 기능을 쉽게 비활성화할 수 있습니다.

Treeview 위젯은 Treeview(root, column, **options) 생성자를 통해 구현할 수 있으며, selectmode 옵션에는 크게 세 가지 값을 사용할 수 있습니다.

  • extended: 기본값으로, Ctrl이나 Shift 키와 함께 여러 항목을 선택할 수 있습니다.
  • browse: 한 번에 하나의 항목만 선택할 수 있습니다.
  • none: 항목 선택 자체를 허용하지 않습니다.

예제 코드

다음 예제는 Treeview 위젯에서 다중 선택을 비활성화하는 방법을 보여줍니다.

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

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

# tkinter 윈도우 크기 설정
win.geometry("700x300")

# Style 위젯 인스턴스 생성
style = ttk.Style()
style.theme_use('clam')

# Treeview 위젯 추가 및 선택 모드 설정
tree = ttk.Treeview(win, column=("c1", "c2"), show='headings', height=8, selectmode="browse")
tree.column("#1", anchor=CENTER, stretch=NO)
tree.heading("#1", text="Fname")
tree.column("#2", anchor=CENTER, stretch=NO)
tree.heading("#2", text="Lname")

# Treeview 위젯에 데이터 삽입
tree.insert('', 'end', text="1", values=('Alex', 'M'))
tree.insert('', 'end', text="2", values=('Belinda', 'Cross'))
tree.insert('', 'end', text="3", values=('Ravi', 'Malviya'))
tree.insert('', 'end', text="4", values=('Suresh', 'Rao'))
tree.insert('', 'end', text="5", values=('Amit', 'Fernandiz'))
tree.insert('', 'end', text="6", values=('Raghu', 'Sharma'))
tree.insert('', 'end', text="7", values=('David', 'Nash'))
tree.insert('', 'end', text="8", values=('Ethan', 'Plum'))

tree.pack()

win.mainloop()

실행 결과

위 코드를 실행하면 항목 목록이 포함된 Treeview 위젯이 화면에 표시됩니다. selectmode="browse" 옵션이 적용되어 있기 때문에 목록에서 한 번에 하나의 항목만 선택할 수 있습니다. Ctrl 키나 Shift 키를 눌러도 다른 항목이 함께 선택되지 않으며, 새로운 항목을 클릭하면 이전 선택이 해제됩니다.

Tkinter Treeview 위젯에서 다중 선택 비활성화하는 방법