Python

tkinter.ttk — Tk 테마 위젯

소스 코드: Lib/tkinter/ttk.py


tkinter.ttk 모듈은 Tk 8.5에서 도입된 Tk 테마 위젯 세트에 대한 접근을 제공합니다. 이 외에도 X11 환경에서의 안티에일리어싱이 적용된 글꼴 렌더링과 창 투명도(X11에서는 컴포지션 창 관리자 필요)와 같은 추가적인 장점을 제공합니다.

tkinter.ttk 의 기본 아이디어는 위젯의 동작을 구현하는 코드와 외양을 구현하는 코드를 가능한 범위 내에서 분리하는 것입니다.

Added in version 3.1.

더 보기

Tk 위젯 스타일링 지원

Tk의 테마 지원을 소개하는 문서

Ttk 사용하기

Ttk를 사용하려면, 모듈을 임포트 하십시오:

from tkinter import ttk

기본 Tk 위젯을 재정의하려면, 임포트는 Tk 임포트 뒤에 와야 합니다:

from tkinter import *
from tkinter.ttk import *

해당 코드를 통해 여러 tkinter.ttk 위젯(Button, Checkbutton, Entry, Frame, Label, LabelFrame, Menubutton, PanedWindow, Radiobutton, ScaleScrollbar)이 Tk 위젯을 자동으로 대체하게 됩니다.

이는 여러 플랫폼에서 더 나은 외관과 조작감을 제공하는 새 위젯을 사용하게 되는 직접적인 이점이 있지만, 대체된 위젯들이 완전히 호환되는 것은 아닙니다. 주요 차이점은 “fg”, “bg” 및 기타 위젯 스타일과 관련된 옵션이 Ttk 위젯에는 더 이상 존재하지 않는다는 것입니다. 대신 개선된 스타일 효과를 위해 ttk.Style 클래스를 사용하십시오.

더 보기

Tile 위젯을 사용하도록 기존 응용 프로그램을 변환하기

새 위젯을 사용하도록 응용 프로그램을 바꿀 때 일반적으로 발생하는 차이점에 대한 모노그래프 (Tcl 용어로).

Ttk 위젯

Ttk에는 18개의 위젯이 있으며, 그중 12개는 tkinter에 이미 존재합니다: Button, Checkbutton, Entry, Frame, Label, LabelFrame, Menubutton, PanedWindow, Radiobutton, Scale, ScrollbarSpinbox. 다른 6개는 Combobox, Notebook, Progressbar, Separator, SizegripTreeview입니다. 그리고 이들은 모두 Widget의 서브 클래스입니다.

Ttk 위젯을 사용하면 응용 프로그램의 모양과 느낌이 개선됩니다. 위에서 설명한 것처럼, 스타일을 코딩하는 방법에는 차이가 있습니다.

Tk 코드:

l1 = tkinter.Label(text="Test", fg="black", bg="white")
l2 = tkinter.Label(text="Test", fg="black", bg="white")

Ttk 코드:

style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")

l1 = ttk.Label(text="Test", style="BW.TLabel")
l2 = ttk.Label(text="Test", style="BW.TLabel")

Ttk 스타일링에 대한 자세한 정보는, Style 클래스 설명서를 참조하십시오.

Widget

ttk.Widget 는 Tk 테마 위젯이 지원하는 표준 옵션과 메서드를 정의하며, 직접 인스턴스화하지 않도록 설계되었습니다.

표준 옵션

모든 ttk 위젯은 다음 옵션을 지원합니다:

옵션

설명

class

윈도우 클래스를 지정합니다. 이 클래스는 창의 다른 옵션에 대한 옵션 데이터베이스를 조회하고, 창의 기본 바인딩 태그를 결정하고, 위젯의 기본 레이아웃과 스타일을 선택하는 데 사용됩니다. 이 옵션은 읽기 전용이며, 창을 만들 때만 지정할 수 있습니다.

cursor

위젯에 사용할 마우스 커서를 지정합니다. Tk 옵션 데이터 타입 아래의 cursor 옵션 유형을 참조하십시오. 빈 문자열(기본값)로 설정하면 부모 위젯의 커서가 상속됩니다.

takefocus

키보드 순회 중 창에서 포커스를 받아들일지를 결정합니다. 0, 1 또는 빈 문자열이 반환됩니다. 0이 반환되면, 키보드 순회 중에 창을 완전히 건너뛰어야 한다는 의미입니다. 1이면, 창은 볼 수 있는 한 입력 포커스를 받아야 함을 의미합니다. 빈 문자열은 순회 스크립트가 창에 포커스를 맞출지를 결정함을 의미합니다.

style

사용자 정의 위젯 스타일을 지정하는 데 사용될 수 있습니다.

스크롤 가능한 위젯 옵션

다음 옵션은 스크롤 막대로 제어되는 위젯에서 지원됩니다.

옵션

설명

xscrollcommand

가로 스크롤 막대와 통신하는 데 사용됩니다.

위젯 창의 뷰가 변경되면 위젯이 xscrollcommand 콜백을 호출합니다.

일반적으로 이 옵션은 특정 스크롤 막개의 메서드 Scrollbar.set 으로 구성됩니다. 이 설정이 적용되면 창의 뷰가 변경될 때마다 스크롤 막개가 업데이트됩니다.

yscrollcommand

세로 스크롤 막대와 통신하는 데 사용됩니다. 자세한 내용은 위를 참조하십시오.

Label 옵션

다음 옵션은 레이블, 버튼 및 기타 버튼류 위젯에서 지원됩니다.

옵션

설명

text

위젯 안에 표시할 텍스트 문자열을 지정합니다.

textvariable

text 옵션 자원 대신 그 값이 사용될 이름을 지정합니다.

underline

설정되면, 텍스트 문자열에서 밑줄 그을 문자의 인덱스(0에서 시작)를 지정합니다. 밑줄 있는 문자는 니모닉 활성화(mnemonic activation)에 사용됩니다.

image

표시할 이미지를 지정합니다. 이것은 하나 이상의 요소로 구성된 리스트입니다. 첫 번째 요소는 기본 이미지 이름입니다. 리스트의 나머지가 Style.map()에 의해 정의된 대로 statespec/value 쌍의 시퀀스면, 위젯이 특정 상태나 상태의 조합에 있을 때 사용할 다른 이미지를 지정합니다. 리스트의 모든 이미지는 크기가 같아야 합니다.

compound

텍스트와 이미지 옵션이 모두 있을 때, 텍스트를 기준으로 이미지를 표시하는 방법을 지정합니다. 유효한 값은 다음과 같습니다:

  • text: 텍스트만 표시합니다

  • image: 이미지만 표시합니다

  • top, bottom, left, right: 각각 이미지를 텍스트 위, 아래, 왼쪽 또는 오른쪽에 표시합니다.

  • none: 기본값입니다. 있으면 이미지를 표시하고, 그렇지 않으면 텍스트를 표시합니다.

width

0보다 크면, 문자 너비 단위로, 텍스트 레이블에 할당할 공간의 크기를 지정합니다, 0보다 작으면, 최소 너비를 지정합니다. 0으로 지정하거나 지정하지 않으면, 텍스트 레이블의 자연 너비가 사용됩니다.

호환성 옵션

옵션

설명

state

“disabled” 상태 비트를 제어하기 위해 “normal”이나 “disabled”로 설정될 수 있습니다. 이것은 쓰기 전용 옵션입니다: 이를 설정하면 위젯 상태가 변경되지만, Widget.state() 메서드는 이 옵션에 영향을 미치지 않습니다.

위젯 상태

위젯 상태는 독립 상태 플래그의 비트 맵입니다.

플래그

설명

active

마우스 커서가 위젯 위에 있으며 마우스 버튼을 누르면 어떤 동작을 일으킵니다

disabled

프로그램 제어 하에 위젯이 비활성화되었습니다

focus

위젯에 키보드 포커스가 있습니다

pressed

위젯을 누르고 있습니다

selected

체크 버튼과 라디오 버튼과 같은 항목의 경우 “On”, “true” 또는 “current”

background

윈도우와 맥에는 “활성(active)”이나 전경(foreground) 창이라는 개념이 있습니다. background 상태는 배경 창의 위젯에 대해 설정되고, 전경 창의 위젯에서는 지워집니다.

readonly

위젯이 사용자 수정을 허용하지 않습니다

alternate

위젯 별 대체 디스플레이 포맷

invalid

위젯 값이 유효하지 않습니다

상태 명세는 상태 이름의 시퀀스이며, 선택적으로 비트가 꺼져 있음을 나타내는 느낌표가 접두어로 붙습니다.

ttk.Widget

아래 설명된 메서드 외에도 ttk.Widget 은 메서드 tkinter.Widget.cgettkinter.Widget.configure 를 지원합니다.

class tkinter.ttk.Widget
identify(x, y)

위치 x y에 있는 요소의 이름을 반환하거나, 점이 요소 내에 없으면 빈 문자열을 반환합니다.

xy는 위젯에 상대적인 픽셀 좌표입니다.

instate(statespec, callback=None, *args, **kw)

위젯 상태를 테스트합니다. 콜백을 지정하지 않으면, 위젯 상태가 statespec과 일치하면 True를, 그렇지 않으면 False를 반환합니다. 콜백이 지정되면 위젯 상태가 statespec과 일치하면 args로 호출됩니다.

state(statespec=None)

위젯 상태를 수정하거나 요청합니다. statespec이 지정되면, 그에 따라 위젯 상태를 설정하고 변경된 플래그를 나타내는 새 statespec을 반환합니다. statespec을 지정하지 않으면, 현재 활성화된 상태 플래그를 반환합니다.

Wm.state 와 혼동하지 마십시오.

statespec은 일반적으로 리스트나 튜플입니다.

Combobox

ttk.Combobox 위젯은 텍스트 필드와 값이 포함된 팝다운 리스트를 결합한 형태입니다. 이 위젯은 Entry 의 서브 클래스입니다.

Widget 에서 상속된 메서드인 cget(), configure(), identify(), instate()state() 와, Entry 에서 상속된 다음의 메서드들(bbox(), delete(), icursor(), index(), insert(), selection*, xview*) 외에도 ttk.Combobox 에 기술된 다른 메서드들이 있습니다.

옵션

이 위젯은 다음과 같은 특정 옵션을 받아들입니다:

옵션

설명

exportselection

불리언 값입니다. 설정되면 위젯 선택이 X 선택(예를 들어 Misc.selection_get을 호출하여 반환되는 것)과 연결됩니다.

justify

위젯 내에서 텍스트가 정렬되는 방식을 지정합니다. “left”, “center” 또는 “right” 중 하나입니다.

height

팝-다운 목록 상자의 높이를 행 단위로 지정합니다.

postcommand

값을 표시하기 직전에 호출되는 (Misc.register로 등록할 수 있는) 스크립트. 표시할 값을 지정할 수 있습니다.

state

“normal”, “readonly”, 또는 “disabled” 중 하나를 선택합니다. “readonly” 상태에서는 값을 직접 수정할 수 없으며 사용자는 드롭다운 목록에서만 값을 선택할 수 있습니다. “normal” 상태에서는 텍스트 필드를 직접 편집할 수 있습니다. “disabled” 상태에서는 상호 작용이 불가능합니다.

textvariable

값이 위젯 값에 연결된 이름을 지정합니다. 해당 이름과 관련된 값이 변경될 때마다, 위젯 값이 갱신되고, 그 반대도 마찬가지입니다. tkinter.StringVar를 참조하십시오.

values

드롭-다운 목록 상자에 표시할 값의 리스트를 지정합니다.

width

원하는 입력 창의 너비를 나타내는 정숫값을 위젯 글꼴의 평균 크기 문자 단위로 지정합니다.

참고

Tk 9.1에서 텍스트 내의 단어 및 문자 경계를 결정하는 데 사용되는 로케일을 선택하는 locale 옵션이 추가되었습니다(기본값은 "C" 입니다).

가상 이벤트

콤보 박스 위젯은 사용자가 값 목록에서 요소를 선택할 때 <<ComboboxSelected>> 가상 이벤트를 생성합니다.

ttk.Combobox

class tkinter.ttk.Combobox
current(newindex=None)

newindex를 지정하면, 콤보 박스 값을 요소 위치 newindex로 설정합니다. 그렇지 않으면, 현재 값의 인덱스를 반환하거나 현재 값이 값 목록에 없으면 -1을 반환합니다.

get()

콤보 박스의 현재 값을 반환합니다.

set(value)

콤보 박스의 값을 value로 설정합니다.

Spinbox

ttk.Spinbox 위젯은 증가 및 감소 화살표가 추가된 ttk.Entry 입니다. 숫자나 문자열 값의 리스트에 사용할 수 있습니다. 이 위젯은 Entry 의 서브 클래스입니다. Widget 에서 상속된 메서드인 cget(), configure(), identify(), instate()state() 와, Entry 에서 상속된 다음의 메서드들(bbox(), delete(), icursor(), index(), insert(), xview*) 외에도 ttk.Spinbox 에 기술된 다른 메서드들이 있습니다.

옵션

이 위젯은 다음과 같은 특정 옵션을 받아들입니다:

옵션

설명

from

부동 소수점 값. 설정하면, 감소 버튼이 감소할 최솟값입니다. from은 파이썬 키워드이므로, 인자로 사용될 때 from_을 사용해야 합니다.

to

부동 소수점 값. 설정되면, 증가 버튼이 증가할 최댓값입니다.

increment

부동 소수점 값. 증가/감소 버튼이 값을 변경할 양을 지정합니다. 기본값은 1.0입니다.

values

문자열이나 부동 소수점 값의 시퀀스. 지정되면, 증가/감소 버튼은 숫자를 늘리거나 줄이는 것이 아니라, 이 시퀀스에서 항목을 순환합니다.

wrap

불리언 값. True이면, 증가와 감소 버튼이 각각 to 값에서 from 값으로, from 값에서 to 값으로 순환합니다.

format

문자열 값. 증가/감소 버튼으로 설정된 숫자의 포맷을 지정합니다. “%W.Pf” 형식이어야 합니다, 여기서 W는 값의 패딩 된 너비, P는 정밀도, 그리고 ‘%’와 ‘f’는 리터럴 입니다.

command

파이썬 콜러블. 증가나 감소 버튼 중 하나를 누를 때마다 인자 없이 호출됩니다.

가상 이벤트

스핀 박스 위젯은 사용자가 <Up>을 누를 때 <<Increment>> 가상 이벤트를, 사용자가 <Down>을 누를 때 <<Decrement>> 가상 이벤트를 생성합니다.

ttk.Spinbox

class tkinter.ttk.Spinbox

정수가 아닌 증분(increment)의 경우, numeric values and the locale 를 참조하십시오.

Added in version 3.8.

get()

스핀 박스의 현재 값을 반환합니다.

set(value)

스핀 박스의 값을 value로 설정합니다.

Notebook

Ttk Notebook 위젯은 창 모음을 관리하고 한 번에 하나의 창을 표시합니다. 각 자식 창은 사용자가 현재 표시된 창을 변경하도록 선택할 수 있는 탭과 연결되어 있습니다.

옵션

이 위젯은 다음과 같은 특정 옵션을 받아들입니다:

옵션

설명

height

존재하고 0보다 크면, 팬 영역(pane area)의 원하는 높이를 지정합니다 (내부 패딩이나 탭을 포함하지 않습니다). 그렇지 않으면, 모든 팬의 최대 높이가 사용됩니다.

padding

노트북 외부에 추가할 여분의 공간을 지정합니다. 패딩은 좌(left) 상(top) 우(right) 하(bottom) 최대 4개의 길이 명세 리스트입니다. 4개보다 적은 요소가 지정되면, bottom의 기본값은 top, right의 기본값은 left, top의 기본값은 left입니다.

width

존재하고 0보다 크면, 원하는 팬 영역 너비를 지정합니다 (내부 패딩을 포함하지 않습니다). 그렇지 않으면, 모든 팬의 최대 너비가 사용됩니다.

탭 옵션

탭에 대한 특정 옵션도 있습니다:

옵션

설명

state

“normal”, “disabled” 또는 “hidden”. “disabled” 이면, 탭을 선택할 수 없습니다. “hidden” 이면, 탭이 표시되지 않습니다.

sticky

자식 창이 패널 영역 내에서 배치되는 방식을 지정합니다. 값은 “n”, “s”, “e” 또는 “w”를 포함하는 문자열입니다. 각 문자는 grid 지오메트리 관리자에 따라 자식 창이 고정될 방향(북, 남, 동, 서)을 나타냅니다.

padding

노트북과 이 팬 사이에 추가할 여분의 공간을 지정합니다. 문법은 이 위젯에서 사용하는 옵션 padding과 같습니다.

text

탭에 표시할 텍스트를 지정합니다.

image

탭에 표시할 이미지를 지정합니다. Widget에 설명된 옵션 image를 참조하십시오.

compound

옵션 text와 image가 모두 있을 때, 텍스트에 상대적으로 이미지를 표시하는 방법을 지정합니다. 유효한 값은 레이블 옵션을 참조하십시오.

underline

텍스트 문자열에서 밑줄 그을 문자의 인덱스(0에서 시작)를 지정합니다. Notebook.enable_traversal()이 호출되면 밑줄 있는 문자는 니모닉 활성화(mnemonic activation)에 사용됩니다.

탭 식별자

ttk.Notebook 의 여러 메서드에 등장하는 tab_id는 다음 중 하나 이상의 형식을 가질 수 있습니다:

  • 0과 탭 수 사이의 정수

  • 자식 창의 이름

  • 탭을 식별하는 “@x,y” 형식의 위치 명세

  • 현재 선택된 탭을 식별하는 리터럴 문자열 “current”

  • 탭 수를 반환하는 리터럴 문자열 “end” (Notebook.index()에만 유효합니다)

가상 이벤트

이 위젯은 새 탭을 선택한 후 <<NotebookTabChanged>> 가상 이벤트를 생성합니다.

ttk.Notebook

class tkinter.ttk.Notebook
add(child, **kw)

노트북에 새 탭을 추가합니다.

창이 현재 노트북으로 관리되지만 숨겨져 있으면, 창은 이전 위치로 복원됩니다.

사용 가능한 옵션 목록은 탭 옵션을 참조하십시오.

forget(tab_id)

tab_id로 지정된 탭을 제거하고, 연관된 창을 매핑 취소하고 관리 취소합니다.

이것은 상속된 지오메트리 관리자 메서드인 forget() 을 가립니다. 위젯 자체를 매니저에서 제거하려면 pack_forget(), grid_forget() 또는 place_forget() 을 사용하십시오.

hide(tab_id)

tab_id로 지정된 탭을 숨깁니다.

탭은 표시되지 않지만, 관련 창은 노트북에 의해 계속 관리되고 구성이 기억됩니다. 숨겨진 탭은 add() 명령으로 복원될 수 있습니다.

identify(x, y)

위치 x, y의 탭 요소 이름을 반환하거나, 없으면 비어있는 문자열을 반환합니다.

index(tab_id)

tab_id로 지정된 탭의 숫자 인덱스를 반환하거나, tab_id가 문자열 “end”이면 총 탭 수를 반환합니다.

insert(pos, child, **kw)

지정된 위치에 팬(pane)을 삽입합니다.

pos는 문자열 “end”, 정수 인덱스 또는 관리되는 자식의 이름입니다. 노트북에서 child를 이미 관리하고 있으면, 지정된 위치로 옮깁니다.

사용 가능한 옵션 목록은 탭 옵션을 참조하십시오.

select(tab_id=None)

지정된 tab_id를 선택합니다.

연결된 자식 창이 표시되고, 이전에 선택한 창이 (다르다면) 매핑이 취소됩니다. tab_id가 생략되면, 현재 선택된 팬의 위젯 이름을 반환합니다.

tab(tab_id, option=None, **kw)

특정 tab_id의 옵션을 조회하거나 수정합니다.

kw가 제공되지 않으면, 탭 옵션값의 딕셔너리를 반환합니다. option이 지정되면, 해당 option의 값을 반환합니다. 그렇지 않으면, 옵션을 해당 값으로 설정합니다.

tabs()

노트북에서 관리하는 창들의 튜플을 반환합니다.

enable_traversal()

이 노트북이 포함된 최상위 창의 키보드 순회를 활성화합니다.

이것은 노트북을 포함하는 최상위 창에 대한 바인딩을 다음과 같이 확장합니다:

  • Control-Tab: 현재 선택된 탭 다음에 있는 탭을 선택합니다.

  • Shift-Control-Tab: 현재 선택된 탭 앞에 있는 탭을 선택합니다.

  • Alt-K: 여기서 K는 탭의 니모닉 (밑줄이 그어진) 문자이며, 해당 탭을 선택합니다.

단일 최상위(toplevel) 창 내에 중첩된 것을 포함하여 여러 개의 노트북을 순회할 수 있도록 활성화할 수 있습니다. 그러나 모든 패널이 해당 노트북의 직계 자식일 경우에만 노트북 순회가 올바르게 작동합니다.

Progressbar

ttk.Progressbar 위젯은 오래 걸리는 작업의 상태를 표시합니다. 이 위젯은 두 가지 모드로 작동할 수 있습니다: 1) 전체 수행해야 할 작업량 대비 완료된 양을 보여주는 확정적(determinate) 모드, 2) 진행 중임을 사용자에게 알리기 위해 애니메이션 효과를 제공하는 불확정적(indeterminate) 모드입니다.

옵션

이 위젯은 다음과 같은 특정 옵션을 받아들입니다:

옵션

설명

orient

“horizontal” 또는 “vertical” 중 하나입니다. 진행 막대의 방향을 지정합니다.

length

진행 막대의 긴 축의 길이를 지정합니다 (가로면 너비, 세로면 높이).

mode

“determinate” 또는 “indeterminate” 중 하나.

maximum

최댓값을 지정하는 숫자. 기본값은 100입니다.

value

진행 막대의 현재 값. “determinate” (확정적) 모드에서는, 완료된 작업량을 나타냅니다. “indeterminate” (불확정적) 모드에서는, 모듈로 maximum으로 해석됩니다; 즉, 진행 막대의 값이 maximum 증가하면 하나의 “사이클”이 완료됩니다.

variable

옵션값에 연결된 이름. 지정되면, 진행 막대의 값은 이 이름의 값이 수정될 때마다 이 이름의 값으로 자동 설정됩니다.

phase

읽기 전용 옵션. 위젯은 값이 0보다 크고 확정적 모드에서 최댓값보다 작을 때마다 이 옵션의 값을 주기적으로 증가시킵니다. 이 옵션은 현재 테마에서 추가 애니메이션 효과를 제공하는 데 사용할 수 있습니다.

ttk.Progressbar

class tkinter.ttk.Progressbar
start(interval=None)

자동 증가 모드를 시작합니다: interval 밀리초마다 Progressbar.step()을 호출하는 반복 타이머 이벤트를 예약합니다. 생략하면, interval의 기본값은 50밀리초입니다.

step(amount=None)

진행 막대의 값을 amount만큼 증가시킵니다.

생략하면 amount의 기본값은 1.0입니다.

stop()

자동 증가 모드를 중지합니다: 이 진행 막대에 대한 Progressbar.start()로 시작된 반복 타이머 이벤트를 취소합니다.

Separator

ttk.Separator 위젯은 가로 또는 세로 구분선을 표시합니다.

ttk.Widget 에서 상속된 것 외에 다른 메서드는 없습니다.

옵션

이 위젯은 다음과 같은 특정 옵션을 받아들입니다:

옵션

설명

orient

“horizontal”(가로)이나 “vertical”(세로) 중 하나입니다. 구분 막대의 방향을 지정합니다.

Sizegrip

ttk.Sizegrip 위젯(그로우 박스로도 알려짐)은 사용자가 그립을 누르고 드래그하여 포함된 최상위 창의 크기를 조정할 수 있게 해줍니다.

이 위젯은 ttk.Widget 에서 상속된 것 외에 특별한 옵션이나 메서드가 없습니다.

플랫폼별 노트

  • 맥 OS에서, 최상위 창에는 기본적으로 내장 크기 그립이 자동으로 포함됩니다. 내장 그립이 위젯을 가리기 때문에 Sizegrip을 추가하는 것은 무해합니다.

버그

  • 포함된 최상위 창의 위치가 화면의 오른쪽 또는 하단을 기준으로 지정된 경우(예: ….), Sizegrip 위젯은 창 크기를 조정하지 않습니다.

  • 이 위젯은 “동남쪽” 크기 조정만 지원합니다.

Treeview

ttk.Treeview 위젯은 계층적인 항목 모음을 표시합니다. 각 항목은 텍스트 레이블과 선택적 이미지, 그리고 선택적 데이터 값 목록을 가집니다. 데이터 값은 트리 레이블 뒤에 이어지는 열들에 표시됩니다.

위젯 옵션 displaycolumns를 설정하여 데이터값이 표시되는 순서를 제어할 수 있습니다. 트리 위젯은 열 제목을 표시할 수도 있습니다. 위젯 옵션 열에 나열된 숫자나 기호 이름으로 열에 액세스 할 수 있습니다. 열 식별자를 참조하십시오.

각 항목은 고유한 이름으로 식별됩니다. 호출자가 제공하지 않으면 위젯은 항목 ID를 생성합니다. {}라고 이름 붙은, 구별되는 루트 항목이 있습니다. 루트 항목 자체는 표시되지 않습니다; 이것의 자식들이 계층 구조의 최상위 수준에 나타납니다.

각 항목에는 이벤트 바인딩을 개별 항목과 연관시키고 항목의 모양을 제어하는 데 사용할 수 있는 태그 목록이 있습니다.

Treeview 위젯은 스크롤 가능한 위젯 옵션에 설명된 옵션과 Treeview.xview()Treeview.yview() 메서드에 따라 가로와 세로 스크롤을 지원합니다.

옵션

이 위젯은 다음과 같은 특정 옵션을 받아들입니다:

옵션

설명

columns

열 수와 이름을 지정하는, 열 식별자 리스트.

displaycolumns

표시할 데이터 열과 표시되는 순서를 지정하는 열 식별자 (기호나 정수 인덱스) 리스트, 또는 문자열 “#all”.

height

보여야 하는 행 수를 지정합니다. 참고: 요청된 너비는 열 너비의 합계로 결정됩니다.

padding

위젯의 내부 패딩을 지정합니다. 패딩은 최대 4개의 길이 명세 리스트입니다.

selectmode

내장 클래스 바인딩이 선택을 관리하는 방법을 제어합니다. “extended”, “browse” 또는 “none” 중 하나입니다. “extended”(기본값)로 설정하면, 여러 항목을 선택할 수 있습니다. “browse”이면, 한 번에 하나의 항목 만 선택됩니다. “none”이면 선택이 변경되지 않습니다.

이 옵션의 값과 관계없이, 응용 프로그램 코드와 태그 바인딩은 원하는 대로 선택을 설정할 수 있음에 유의하십시오.

show

표시할 트리의 요소를 지정하는, 다음 값 중 0개 이상을 포함하는 리스트.

  • tree: 열 #0에 트리 레이블을 표시합니다.

  • headings: 제목 행을 표시합니다.

기본값은 “tree headings”이며, 이는 모든 요소를 표시함을 의미합니다.

참고: show=”tree” 가 지정되지 않은 경우에도, #0 열은 항상 트리 열을 나타냅니다.

참고

Tk 9.0에서 여러 Treeview 기능이 추가되었습니다. selectmode 옵션에 "single""multiple" 값이 추가되었고, 새로운 위젯 옵션으로 selecttype*(``”item”`` 또는 ``”cell”`` 선택), *striped*(얼룩무늬 행), 그리고 *titlecolumns/titleitems*(스크롤 시 고정되는 열 또는 행)이 도입되었으며 항목에 *hidden 옵션이 추가되었습니다. Tk 9.1에서는 rowheight*와 *headingheight 옵션이 추가되었습니다.

항목 옵션

insert와 item 위젯 명령에서 항목에 대해 다음 항목 옵션을 지정할 수 있습니다.

옵션

설명

text

항목에 표시할 텍스트 레이블.

image

레이블 왼쪽에 표시되는, Tk 이미지.

values

항목과 관련된 값의 리스트.

각 항목은 위젯 옵션 열과 같은 수의 값을 가져야 합니다. 열보다 적은 값이 있으면, 나머지 값은 비어 있다고 가정합니다. 열보다 많은 값이 있으면, 추가 값은 무시됩니다.

open

항목의 자식을 표시할지를 나타내는 True/False 값.

tags

이 항목과 관련된 태그의 리스트.

태그 옵션

태그에 다음 옵션을 지정할 수 있습니다:

옵션

설명

foreground

텍스트 전경색을 지정합니다.

background

셀이나 항목 배경색을 지정합니다.

font

텍스트를 그릴 때 사용할 글꼴을 지정합니다.

image

항목의 image 옵션이 비어있는 경우, 항목 이미지를 지정합니다.

열 식별자

열 식별자는 다음 형식 중 하나를 취합니다:

  • 열 옵션 목록에 있는 기호 이름.

  • n번째 데이터 열을 지정하는, 정수 n.

  • #n 형식의 문자열, 여기서 n은 정수이며 n번째 표시 열을 지정합니다.

노트:

  • 항목의 옵션 값은 저장된 순서와 다른 순서로 표시될 수 있습니다.

  • show=”tree”가 지정되지 않은 경우에도, #0 열은 항상 트리 열을 나타냅니다.

데이터 열 번호는 항목의 옵션 값 리스트에 대한 인덱스입니다; 표시 열 번호는 값이 표시되는 트리의 열 번호입니다. 트리 레이블은 열 #0 에 표시됩니다. displaycolumns 옵션을 설정하지 않으면, 데이터 열 n이 열 #n+1 에 표시됩니다. 다시, #0 열은 항상 트리 열을 나타냅니다.

가상 이벤트

Treeview 위젯은 다음과 같은 가상 이벤트를 생성합니다.

이벤트

설명

<<TreeviewSelect>>

선택이 변경될 때마다 생성됩니다.

<<TreeviewOpen>>

포커스 항목을 open=True 로 설정하기 직전에 생성됩니다.

<<TreeviewClose>>

포커스 항목을 open=False 로 설정한 직후 생성됩니다.

Treeview.focus()Treeview.selection() 메서드를 사용하여 영향을 받는 항목이나 항목들을 결정할 수 있습니다.

ttk.Treeview

class tkinter.ttk.Treeview
bbox(item, column=None)

지정된 item의 경계 상자(트리 뷰 위젯의 창에 상대적인)를 (x, y, 너비, 높이) 형식으로 반환합니다.

column 이 지정되면 해당 셀의 경계 상자를 반환합니다. item 이 보이지 않으면(즉, 닫힌 항목의 자손이거나 화면 밖으로 스크롤된 경우) 빈 문자열을 반환합니다.

이것은 상속된 Misc.bbox() 를 가립니다. 그리드 경계 상자의 경우 grid_bbox() 를 사용하십시오.

get_children(item=None)

item 에 속하는 자식들의 튜플을 반환합니다.

item이 지정되지 않으면, 루트 자식을 반환합니다.

set_children(item, *newchildren)

item 의 자식들을 newchildren 으로 교체합니다.

item에 있지만 newchildren에 없는 자식은 트리에서 분리됩니다. newchildren의 어떤 항목도 item의 조상이 될 수 없습니다. newchildren을 지정하지 않으면 item의 자식이 분리됨에 유의하십시오.

column(column, option=None, **kw)

지정된 column에 대한 옵션을 조회하거나 수정합니다.

kw가 제공되지 않으면, 열 옵션 값의 딕셔너리를 반환합니다. option이 지정되면 해당 option의 값이 반환됩니다. 그렇지 않으면, 옵션을 해당 값으로 설정합니다.

유효한 옵션/값은 다음과 같습니다:

id

열 이름을 반환합니다. 이것은 읽기 전용 옵션입니다.

anchor: 표준 Tk 앵커값 중 하나.

이 열의 텍스트가 셀을 기준으로 정렬되는 방법을 지정합니다.

minwidth: 너비

열의 픽셀 단위의 최소 너비. 위젯의 크기가 조정되거나 사용자가 열을 드래그할 때 트리 뷰 위젯은 이 옵션으로 지정된 것보다 작게 열을 만들지 않습니다.

stretch: True/False

위젯 크기를 조정할 때 열 너비를 조정할지를 지정합니다.

width: 너비

열의 픽셀 단위 너비.

트리 열을 구성하려면, column = “#0” 으로 호출하십시오.

delete(*items)

지정된 items와 그들의 모든 자손을 삭제합니다.

루트 항목은 삭제되지 않을 수 있습니다.

detach(*items)

지정된 items를 모두 트리에서 연결 해제합니다.

항목과 그들의 모든 자손은 여전히 존재하며, 트리의 다른 지점에 다시 삽입될 수 있지만, 표시되지는 않습니다.

루트 아이템은 분리되지 않을 수 있습니다.

exists(item)

지정된 item 이 트리에 존재하면 True 를 반환하고, 그렇지 않으면 False 를 반환합니다.

focus(item=None)

item이 지정되면, 포커스 항목을 item으로 설정합니다. 그렇지 않으면, 현재 포커스 항목을 반환하거나, 없으면 ‘’ 을 반환합니다.

이것은 상속된 Misc.focus() 를 가립니다. 위젯 자체에 포커스를 주려면 focus_set() 을 사용하십시오.

heading(column, option=None, **kw)

지정된 column에 대한 제목(heading) 옵션을 조회하거나 수정합니다.

kw가 제공되지 않으면, 제목 옵션값의 딕셔너리를 반환합니다. option이 지정되면 해당 option의 값이 반환됩니다. 그렇지 않으면, 옵션을 해당 값으로 설정합니다.

유효한 옵션/값은 다음과 같습니다:

text: 텍스트

열 제목에 표시할 텍스트.

image: 이미지 이름

열 제목의 오른쪽에 표시할 이미지를 지정합니다.

anchor: 앵커

제목 텍스트를 정렬하는 방법을 지정합니다. 표준 Tk 앵커값 중 하나입니다.

command: 콜백

제목 레이블을 누를 때 호출되는 콜백.

트리 열 제목을 구성하려면, column = “#0” 으로 호출하십시오.

identify(component, x, y)

xy로 주어진 점 밑에 있는 지정된 component에 대한 설명을 반환하거나, 해당 component가 해당 위치에 없으면 빈 문자열을 반환합니다.

identify_row(y)

y 위치에 있는 항목의 항목 ID를 반환합니다.

identify_column(x)

x 위치에 있는 셀의 표시용 열 식별자를 반환합니다.

트리 열의 ID는 #0 입니다.

identify_region(x, y)

다음 중 하나를 반환합니다:

영역(region)

의미

heading

트리 제목 영역.

separator

두 열 제목 사이의 공간.

tree

트리 영역.

cell

데이터 셀.

가용성: Tk 8.6.

identify_element(x, y)

위치 x, y에 있는 요소를 반환합니다.

가용성: Tk 8.6.

index(item)

부모의 자식 리스트에서 item의 정수 인덱스를 반환합니다.

insert(parent, index, iid=None, **kw)

새 항목을 만들고 새로 만들어진 항목의 항목 ID를 반환합니다.

parent는 부모 항목의 항목 ID이거나, 새 최상위 항목을 만들려면 빈 문자열입니다. index는 정수이거나, “end” 값으로, 부모의 자식 리스트에서 새 항목을 삽입할 위치를 지정합니다. index가 0보다 작거나 같으면, 새 노드가 처음에 삽입됩니다; index가 현재 자식 수보다 크거나 같으면, 끝에 삽입됩니다. iid가 지정되면, 항목 식별자로 사용됩니다; iid는 아직 트리에 존재하지 않아야 합니다. 그렇지 않으면, 새로운 고유 식별자가 생성됩니다.

사용 가능한 옵션 목록은 Item Options을 참조하십시오.

item(item, option=None, **kw)

지정된 item에 대한 옵션을 조회하거나 수정합니다.

옵션이 제공되지 않으면 항목에 대한 옵션/값이 포함된 딕셔너리가 반환됩니다. option이 지정되면 해당 옵션의 값이 반환됩니다. 그렇지 않으면, 옵션을 kw에서 제공한 해당 값으로 설정합니다.

move(item, parent, index)

itemparent의 자식 리스트에서 index 위치로 이동합니다.

항목을 그 자신의 자손 항목 중 하나 밑으로 이동하는 것은 불법입니다. index가 0보다 작거나 같으면, item이 처음으로 이동합니다; 자식 수보다 크거나 같으면, 끝으로 이동합니다. item이 분리되었으면 다시 연결됩니다.

reattach`는 :meth:()!move`의 별칭입니다.

next(item)

item 의 다음 형제의 식별자를 반환하며, item 이 부모의 마지막 자식인 경우 빈 문자열을 반환합니다. 이는 after_item(item, hidden=True, recurse=False) 와 동일합니다.

parent(item)

item의 부모 ID를 반환하거나, item이 계층의 최상위에 있으면 ‘’ 을 반환합니다.

prev(item)

item 의 이전 형제의 식별자를 반환하며, item 이 부모의 첫 번째 자식인 경우 빈 문자열을 반환합니다. 이는 before_item(item, hidden=True, recurse=False) 와 동일합니다.

after_item(item, *, hidden=False, recurse=True)

item 뒤에 오는 항목(첫 번째 자식, 다음 형제 또는 조상의 다음 형제)의 식별자를 반환하며, 해당하는 것이 없으면 빈 문자열을 반환합니다. 기본적으로는 보이는 항목만 고려하며, hidden 이 True인 경우 숨겨진 항목도 포함됩니다. recurse 가 False인 경우 item 의 형제들만 고려합니다(참조: next()).

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

before_item(item, *, hidden=False, recurse=True)

item 앞에 위치한 항목(이전 형제 또는 item 의 부모)의 식별자를 반환하며, 해당 사항이 없으면 빈 문자열을 반환합니다. 기본적으로는 보이는 항목만 고려하며, hidden 이 True인 경우 숨겨진 항목도 포함됩니다. recurse 가 False인 경우 item 의 형제들만 고려합니다(참조: prev()).

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

depth(item)

item 과 루트 항목 사이의 계층 수준 수를 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

haschildren(item)

item 이 자식 항목을 가지고 있으면 True 를, 그렇지 않으면 False 를 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

visible(item)

item 이 표시되면 True 를 반환하고, 그렇지 않으면 False 를 반환합니다. 항목은 분리(detached)되지 않고, 숨겨지지 않았으며, 모든 조상 항목이 열려 있고 숨겨지지 않은 경우에만 표시됩니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

size(item, *, hidden=False, recurse=False)

item 의 자식 항목 수를 반환합니다. hidden 이 True인 경우 숨겨진 항목도 포함됩니다. recurse 가 True인 경우 item 의 모든 후손을 포함합니다. 루트 항목의 경우 '' 를 사용하십시오. size(item, hidden=True)len(get_children(item)) 과 동일합니다(이 함수는 항상 숨겨진 항목을 포함합니다).

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

range(first, last, *, hidden=False, recurse=True)

first 부터 last 까지의 항목들을 포함하는 튜플을 반환합니다. hidden 이 True인 경우 숨겨진 항목도 포함됩니다. recurse 가 False인 경우 후손 및 조상은 제외됩니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

identifier(item, index)

item*의 자식 목록 중 *index 위치에 있는 항목의 식별자를 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

current()

현재 항목 ID와 열 ID를 2개 요소의 튜플로 반환하며, 해당 사항이 없으면 빈 튜플을 반환합니다. 현재 항목은 마우스 포인터 아래에 있는 항목입니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

expand(*items, recurse=False)

지정된 모든 항목을 열린 상태로 설정합니다. recurse 가 True인 경우 자손들도 모두 엽니다(이 기능은 Tk 9.1이 필요합니다). 루트 항목의 경우 '' 를 사용하십시오. expand(item)item(item, open=True) 와 동일합니다.

Added in version 3.16.0a0 (unreleased).

collapse(*items, recurse=False)

지정된 모든 항목을 닫힌 상태로 설정합니다. recurse 가 True인 경우 자손들도 모두 닫습니다(이 기능은 Tk 9.1이 필요합니다). 루트 항목의 경우 '' 를 사용하십시오. collapse(item)item(item, open=False) 와 동일합니다.

Added in version 3.16.0a0 (unreleased).

hide(*items, recurse=False)

지정된 모든 항목과 그 하위 자식들을 숨깁니다. recurse 가 True인 경우 모든 후손을 숨깁니다. 루트 항목의 경우 '' 를 사용하십시오. hide(item)item(item, hidden=True) 와 동일합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

unhide(*items, recurse=False)

지정된 모든 항목의 숨김을 해제합니다. recurse 가 True인 경우 자손들의 숨김도 모두 해제합니다. 루트 항목의 경우 '' 를 사용하십시오. unhide(item)item(item, hidden=False) 와 동일합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

detached(item=None)

분리된(detached) 항목에 대한 정보를 반환합니다(참조: detach()). 인수가 없으면 분리된 모든 항목의 튜플을 반환하며, 이때 자손은 포함되지 않습니다(참조: detached_all()). item 이 제공되면 해당 item 이 분리되었는지 여부를 반환하며, Tk 9.1부터는 item 의 조상 중 하나라도 분리된 경우에도 True를 반환합니다.

Tk 9.0 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

detached_all()

분리된 모든 항목과 해당 항목의 모든 자손을 포함하는 튜플을 반환합니다(참고: detach()).

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellfocus(cell=None)

포커스 셀을 가져오거나 설정합니다. cell 이 없으면 포커스 셀을 (item, column) 2-튜플로 반환하며, 없으면 빈 튜플을 반환합니다. cell 이 있으면 포커스 셀을 설정하며, '' 를 사용하여 해제할 수 있습니다. 셀은 (item, column) 쌍으로 지정됩니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

sort(parent, *, column=None, command=None, dictionary=False, integer=False, real=False, nocase=False, decreasing=False, ignoreempty=False, recurse=False)

parent 의 자식들을 정렬합니다. 기본적으로 자식들은 첫 번째 표시 열의 값을 Unicode 문자열로 간주하여 오름차순으로 정렬됩니다. column 은 정렬할 열을 선택합니다. dictionary, integer, real 은 비교 방식을 선택하며, nocase 는 문자열 비교 시 대소문자를 구분하지 않습니다. command 는 두 개의 값을 입력받아 음수, 0 또는 양수를 반환하는 함수입니다. decreasing 은 순서를 역순으로 바꿉니다. ignoreempty 는 비어 있는 값을 건너뜁니다(※ integer 또는 real 과 함께 사용). recurse 를 사용하면 모든 자손도 정렬합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

search(parent, pattern, *, columns=None, start=None, stop=None, dictionary=False, integer=False, real=False, nocase=False, glob=False, regexp=False, backwards=False, hidden=False, recurse=False, wraparound=False)

parent 의 자식들 중에서 pattern 을 검색하여 처음 일치하는 항목의 식별자를 반환하며, 일치하는 항목이 없으면 '' 를 반환합니다. 기본적으로 pattern 은 각 표시 열의 값을 Unicode 문자열로 간주하여 정확히 일치하는지 확인하며, parent 의 직계 자식들을 앞방향으로 검색합니다. glob 또는 regexp 는 각각 glob 스타일이나 정규 표현식 매칭을 선택합니다. dictionary, integer, real 은 비교 방식을 결정하며, nocase 는 대소문자를 구분하지 않습니다. columns 는 검색 범위를 지정된 열로 제한합니다. startstop 은 검색 범위를 제한하고, backwards 는 검색 방향을 뒤집으며, wraparound 는 반대쪽 끝에서부터 계속 검색합니다. hidden 은 숨겨진 항목과 닫힌 항목도 검색하며, recurse 는 모든 자손을 검색합니다.

search_all(), search_cell(), 그리고 search_all_cells() 를 참조하십시오.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

search_all(parent, pattern, **kwargs)

search() 와 유사하지만, 모든 일치하는 항목의 식별자를 담은 튜플을 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

search_cell(parent, pattern, **kwargs)

search`와 유사하지만, 번째로 일치하는 셀을 ``(item, column)`() 2-튜플로 반환하며, 일치 항목이 없으면 빈 튜플을 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

search_all_cells(parent, pattern, **kwargs)

search`와 유사하지만, 일치하는 모든 셀을 각각 ``(item, column)`() 2-튜플로 구성된 튜플로 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection()

선택된 셀들을 각각 (item, column) 2-튜플로 구성된 튜플로 반환합니다. 셀 선택은 항목 선택과 독립적입니다(참고: selection()).

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_set(*cells)

지정된 셀들이 새로운 셀 선택이 됩니다. 각 셀은 (item, column) 쌍입니다. 인자 없이 호출하면 셀 선택을 해제합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_add(*cells)

지정된 셀들을 셀 선택에 추가합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_remove(*cells)

지정된 셀들을 셀 선택에서 제거합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_set_range(first, last, *, hidden=True, recurse=True)

first 부터 last 까지의 셀 영역을 셀 선택으로 설정합니다. firstlast 는 서로 반대되는 모서리의 셀로, 각각 (item, column) 쌍이며 표시된 열에 있어야 합니다. 그 외의 모든 셀은 선택 해제됩니다. hidden 이 False이면 숨겨진 셀은 제외되며, recurse 가 False이면 자손 항목에 있는 셀은 제외됩니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_add_range(first, last, *, hidden=True, recurse=True)

cellselection_set_range() 와 유사하지만, 셀 선택을 교체하는 대신 해당 영역의 셀들을 셀 선택에 추가합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_remove_range(first, last, *, hidden=True, recurse=True)

cellselection_set_range() 와 유사하지만, 해당 영역의 셀들을 셀 선택에서 제거합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_anchor(cell=None)

셀 선택 앵커를 가져오거나 설정합니다. cell 이 없으면 앵커를 (item, column) 2-튜플로 반환하며, 설정되어 있지 않으면 빈 튜플을 반환합니다. cell 이 있으면 앵커를 설정하며, '' 를 사용하여 해제할 수 있습니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_includes(*cells)

지정된 모든 셀이 선택되었는지 여부를 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

cellselection_present()

하나 이상의 셀이 선택되었는지 여부를 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

tag_cell_add(tagname, *cells)

지정된 각 셀에 주어진 태그를 추가합니다. 각 셀은 (item, column) 쌍입니다. 셀 태그는 항목 태그와 독립적입니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

tag_cell_remove(tagname, *cells)

지정된 각 셀에서 주어진 태그를 제거합니다. 셀이 지정되지 않으면 모든 셀에서 해당 태그를 제거합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

tag_cell_has(tagname, cell=None)

셀 태그를 테스트하거나 해당 태그를 가진 셀 목록을 가져옵니다. cell 이 지정되면 해당 셀이 주어진 태그를 가지고 있는지 여부를 반환합니다. 그렇지 않으면 해당 태그를 보유한 모든 셀의 튜플((item, column) 2-튜플 형태)을 반환합니다.

Tk 9.1 이상이 필요합니다.

Added in version 3.16.0a0 (unreleased).

see(item)

item이 보이도록 합니다.

item의 모든 조상의 open 옵션을 True로 설정하고, 필요하면 위젯을 스크롤 하여 item이 트리의 보이는 부분 내에 있도록 합니다.

selection()

선택한 항목의 튜플을 반환합니다.

버전 3.8에서 변경: selection()은 더는 인자를 취하지 않습니다. 선택 상태를 변경하려면 다음 선택 메서드를 사용하십시오.

selection_set(*items)

items가 새로운 선택이 됩니다.

버전 3.6에서 변경: items는 단일 튜플이 아닌 별도의 인자로 전달될 수 있습니다.

selection_add(*items)

선택에 items를 추가합니다.

버전 3.6에서 변경: items는 단일 튜플이 아닌 별도의 인자로 전달될 수 있습니다.

selection_remove(*items)

선택에서 items를 제거합니다.

버전 3.6에서 변경: items는 단일 튜플이 아닌 별도의 인자로 전달될 수 있습니다.

selection_toggle(*items)

items에 있는 각 항목의 선택 상태를 토글 합니다.

버전 3.6에서 변경: items는 단일 튜플이 아닌 별도의 인자로 전달될 수 있습니다.

set(item, column=None, value=None)

하나의 인자로는, 지정된 item에 대한 열/값 쌍 딕셔너리를 반환합니다. 두 개의 인자를 사용하면, 지정된 column의 현재 값을 반환합니다. 세 개의 인자를 사용하면, 지정된 item의 지정된 column의 값을, 지정된 value로 설정합니다.

tag_bind(tagname, sequence=None, callback=None)

주어진 이벤트 sequence에 대한 콜백을 태그 tagname에 바인딩합니다. 이벤트가 항목에 전달되면, 각 항목의 태그 옵션에 대한 콜백이 호출됩니다.

tag_configure(tagname, option=None, **kw)

지정된 tagname에 대한 옵션을 조회하거나 수정합니다.

kw가 제공되지 않으면, tagname에 대한 옵션 설정의 딕셔너리를 반환합니다. option이 지정되면, 지정된 tagname에 대한 해당 option의 값을 반환합니다. 그렇지 않으면, 옵션을 주어진 tagname에 대해 해당하는 값으로 설정합니다.

tag_has(tagname, item=None)

item 이 지정되면 해당 item 이 주어진 tagname 을 가지고 있으면 True 를, 아니면 False 를 반환합니다. 그렇지 않으면 지정된 태그가 있는 모든 항목의 튜플을 반환합니다.

가용성: Tk 8.6

xview(*args)

트리 뷰의 가로 위치를 조회하거나 수정합니다.

yview(*args)

트리 뷰의 수직 위치를 조회하거나 수정합니다.

Ttk 스타일링

ttk 의 각 위젯에는 스타일이 할당됩니다. 이 스타일은 위젯을 구성하는 요소 집합과 배열 방식, 그리고 요소 옵션에 대한 동적 및 기본 설정을 정의합니다. 기본적으로 스타일 이름은 위젯의 클래스 이름과 같으나, 위젯의 스타일 옵션으로 재정의할 수 있습니다. 위젯의 클래스 이름을 모를 경우 Misc.winfo_class 메서드(somewidget.winfo_class())를 사용하십시오.

더 보기

Tcl’2004 conference presentation

이 문서는 테마 엔진의 작동 방식을 설명합니다

class tkinter.ttk.Style

이 클래스는 스타일 데이터베이스를 조작하는 데 사용됩니다.

configure(style, query_opt=None, **kw)

style에서 지정된 옵션의 기본값을 조회하거나 설정합니다.

kw의 각 키는 옵션이며 각 값은 해당 옵션의 값을 식별하는 문자열입니다.

예를 들어, 모든 기본 버튼을 패딩이 있고 배경색이 다른 평평한 버튼으로 바꾸려면:

from tkinter import ttk
import tkinter

root = tkinter.Tk()

ttk.Style().configure("TButton", padding=6, relief="flat",
   background="#ccc")

btn = ttk.Button(text="Sample")
btn.pack()

root.mainloop()
map(style, query_opt=None, **kw)

style에서 지정된 옵션의 동적 값을 조회하거나 설정합니다.

kw의 각 키는 옵션이며 각 값은 (일반적으로) 튜플, 리스트 또는 다른 선호하는 것에 그룹화된 상태 명세(statespecs)를 포함하는 리스트나 튜플이어야 합니다. 상태 명세(statespec)는 하나 이상의 상태와 그다음에 값이 오는 복합체입니다.

예를 들면 더 이해하기 쉽습니다:

import tkinter
from tkinter import ttk

root = tkinter.Tk()

style = ttk.Style()
style.map("C.TButton",
    foreground=[('pressed', 'red'), ('active', 'blue')],
    background=[('pressed', '!disabled', 'black'), ('active', 'white')]
    )

colored_btn = ttk.Button(text="Test", style="C.TButton").pack()

root.mainloop()

옵션의 (상태들, 값) 시퀀스의 순서는 중요함에 유의하십시오. 예를 들어, foreground 옵션에서 순서가 [('active', 'blue'), ('pressed', 'red')]로 변경되면, 예를 들어, 위젯이 active 나 pressed 상태일 때 결과는 파란색 전경이 됩니다.

매핑을 조회할 때(설정할 값을 지정하지 않음) 호출하면, 각 옵션을 해당 statespec 목록에 매핑하는 딕셔너리를 반환합니다.

버전 3.10에서 변경: 매핑을 조회할 때 반환된 값이 수정되었습니다.

lookup(style, option, state=None, default=None)

style에서 option에 지정된 값을 반환합니다.

state가 지정되면, 하나 이상의 상태 시퀀스일 것으로 기대됩니다. default 인자가 설정되면, 옵션에 대한 명세가 없을 때 폴 백값으로 사용됩니다.

Button이 기본적으로 사용하는 글꼴을 확인하려면:

from tkinter import ttk

print(ttk.Style().lookup("TButton", "font"))
layout(style, layoutspec=None)

주어진 style에 대한 위젯 레이아웃을 정의합니다. layoutspec이 생략되면, 지정된 스타일의 레이아웃 명세를 반환합니다.

지정되면, layoutspec은 리스트나 다른 시퀀스 형(문자열 제외)이어야 합니다. 여기서 각 항목은 튜플이어야 하고 첫 번째 항목은 레이아웃 이름이고 두 번째 항목은 레이아웃에 설명된 형식이어야 합니다.

형식을 이해하려면, 다음 예제를 참조하십시오 (유용한 것은 아닙니다):

from tkinter import ttk
import tkinter

root = tkinter.Tk()

style = ttk.Style()
style.layout("TMenubutton", [
   ("Menubutton.background", None),
   ("Menubutton.button", {"children":
       [("Menubutton.focus", {"children":
           [("Menubutton.padding", {"children":
               [("Menubutton.label", {"side": "left", "expand": 1})]
           })]
       })]
   }),
])

mbtn = ttk.Menubutton(text='Text')
mbtn.pack()
root.mainloop()
element_create(elementname, etype, *args, **kw)

현재 테마에서 주어진 etype의 새 요소를 만듭니다. etype은 “image”, “from” 또는 “vsapi”일 것으로 기대됩니다. 마지막 것은 윈도우 용 Tk 8.6에서만 사용할 수 있습니다.

“image”를 사용하면, args는 기본 이미지 이름과 그 뒤에 오는 statespec/value 쌍 (이것이 이미지 명세(imagespec)입니다)을 포함해야 하며, kw에는 다음 옵션이 올 수 있습니다:

border=padding

패딩은 각각 좌(left), 상(top), 우(right), 하(bottom) 테두리를 지정하는 최대 4개의 정수 리스트입니다.

height=height

요소의 최소 높이를 지정합니다. 0보다 작으면, 기본 이미지의 높이가 기본값으로 사용됩니다.

padding=padding

요소의 내부 패딩을 지정합니다. 지정하지 않으면 기본값은 border의 값입니다.

sticky=spec

최종 파슬(parcel) 내에 이미지를 배치하는 방법을 지정합니다. 명세에는 0개 이상의 문자 “n”, “s”, “w” 또는 “e” 가 포함됩니다.

width=width

요소의 최소 너비를 지정합니다. 0보다 작으면, 기본 이미지의 너비가 기본값으로 사용됩니다.

예제:

img1 = tkinter.PhotoImage(master=root, file='button.png')
img1 = tkinter.PhotoImage(master=root, file='button-pressed.png')
img1 = tkinter.PhotoImage(master=root, file='button-active.png')
style = ttk.Style(root)
style.element_create('Button.button', 'image',
                     img1, ('pressed', img2), ('active', img3),
                     border=(2, 4), sticky='we')

“from”이 etype의 값으로 사용되면, element_create()는 기존 요소를 복제합니다. args는 요소를 복제할 테마 이름(themename)과, 선택적으로 요소를 복제할 요소를 포함할 것으로 기대됩니다. 복제할 요소를 지정하지 않으면, 빈 요소가 사용됩니다. kw는 폐기됩니다.

예제:

style = ttk.Style(root)
style.element_create('plain.background', 'from', 'default')

만약 etype 의 값으로 “vsapi”를 사용하면, element_create() 는 Microsoft Visual Styles API를 사용하여 시각적 모양이 그려지는 현재 테마의 새 요소를 생성합니다. 이 API는 Windows XP 및 Vista의 테마 스타일을 담당합니다. args 에는 Microsoft 문서에 명시된 Visual Styles 클래스와 파트, 그리고 선택적인 ttk 상태 튜플 시퀀스 및 해당 Visual Styles API 상태 값이 포함되어야 합니다. kw 는 다음 옵션들을 가질 수 있습니다:

padding=padding

요소의 내부 패딩을 지정합니다. padding 은 좌(left), 상(top), 우(right), 하(bottom) 패딩 양을 각각 나타내는 최대 4개의 정수 리스트입니다. 4개 미만의 요소가 지정되면, 하단은 상단의 값으로, 우측은 좌측의 값으로, 상단은 좌측의 값으로 설정됩니다. 즉, 세 개의 숫자는 좌, 수직, 우 패딩을, 두 개의 숫자는 수평 및 수직 패딩을, 단일 숫자는 위젯 전체 주변에 동일한 패딩을 적용합니다. 이 옵션은 다른 옵션과 혼합하여 사용할 수 없습니다.

margins=padding

요소 외부 패딩을 지정합니다. padding은 각각 좌(left), 상(top), 우(right), 하(bottom) 패딩량을 지정하는 최대 4개의 정수 리스트입니다. 이 옵션은 다른 옵션과 함께 사용할 수 없습니다.

width=width

요소의 너비를 지정합니다. 이 옵션을 설정하면 Visual Styles API에서 권장 크기나 파트를 조회하지 않습니다. 이 옵션을 설정할 경우 height*도 함께 설정해야 합니다. *width*와 *height 옵션은 padding 또는 margins 옵션과 혼합하여 사용할 수 없습니다.

height=height

요소의 높이를 지정합니다. width 에 대한 설명을 참조하십시오.

예제:

style = ttk.Style(root)
style.element_create('pin', 'vsapi', 'EXPLORERBAR', 3, [
                     ('pressed', '!selected', 3),
                     ('active', '!selected', 2),
                     ('pressed', 'selected', 6),
                     ('active', 'selected', 5),
                     ('selected', 4),
                     ('', 1)])
style.layout('Explorer.Pin',
             [('Explorer.Pin.pin', {'sticky': 'news'})])
pin = ttk.Checkbutton(style='Explorer.Pin')
pin.pack(expand=True, fill='both')

버전 3.13에서 변경: “vsapi” 엘리먼트 팩토리 지원이 추가되었습니다.

element_names()

현재 테마에 정의된 요소들의 튜플을 반환합니다.

element_options(elementname)

elementname 의 옵션들을 튜플로 반환합니다.

theme_create(themename, parent=None, settings=None)

새로운 테마를 만듭니다.

themename이 이미 존재하면 에러입니다. parent가 지정되면, 새 테마는 부모 테마에서 스타일, 요소 및 레이아웃을 상속합니다. settings가 있으면, theme_settings()에 사용되는 것과 같은 문법일 것으로 기대됩니다.

theme_settings(themename, settings)

현재 테마를 themename으로 임시 설정하고, 지정된 settings를 적용한 다음 이전 테마를 복원합니다.

settings의 각 키는 스타일이며 각 값에는 ‘configure’, ‘map’, ‘layout’ 및 ‘element create’ 키가 포함될 수 있으며 각각 Style.configure(), Style.map(), Style.layout()Style.element_create()가 지정한 것과 같은 형식을 갖습니다.

예를 들어, 기본 테마의 Combobox를 약간 변경해 봅시다:

from tkinter import ttk
import tkinter

root = tkinter.Tk()

style = ttk.Style()
style.theme_settings("default", {
   "TCombobox": {
       "configure": {"padding": 5},
       "map": {
           "background": [("active", "green2"),
                          ("!disabled", "green4")],
           "fieldbackground": [("!disabled", "green3")],
           "foreground": [("focus", "OliveDrab1"),
                          ("!disabled", "OliveDrab2")]
       }
   }
})

combo = ttk.Combobox().pack()

root.mainloop()
theme_names()

알려진 모든 테마를 튜플로 반환합니다.

theme_styles(themename=None)

themename 내의 모든 스타일을 튜플로 반환합니다. themename 이 제공되지 않으면 현재 테마를 사용합니다.

Added in version 3.16.0a0 (unreleased).

가용성: Tk 9.0.

theme_use(themename=None)

themename이 제공되지 않으면, 사용 중인 테마를 반환합니다. 그렇지 않으면, 현재 테마를 themename으로 설정하고, 모든 위젯을 새로 고치고 <<ThemeChanged>> 이벤트를 방출합니다.

레이아웃

레이아웃은 옵션을 취하지 않으면 None일 수 있습니다, 또는 요소를 정렬하는 방법을 지정하는 옵션의 딕셔너리입니다. 레이아웃 메커니즘은 pack 지오메트리 관리자의 단순화 된 버전을 사용합니다: 초기 캐비티(cavity)가 주어지면, 각 요소에는 파슬(parcel)이 할당됩니다.

유효한 옵션/값은 다음과 같습니다:

side: whichside

요소를 배치할 캐비티(cavity)의 변을 지정합니다; 상(top), 우(right), 하(bottom) 또는 좌(left) 중 하나입니다. 생략하면, 요소가 전체 캐비티를 차지합니다.

sticky: nswe

할당된 파슬(parcel)에서 요소가 배치되는 위치를 지정합니다.

unit: 0 또는 1

1로 설정하면, Widget.identify() 등의 목적으로 요소와 그것의 모든 자손이 단일 요소로 처리됩니다. 그립이 있는 스크롤 막대 썸(thumbs)과 같은 것들에 사용됩니다.

children: [sublayout… ]

요소 안에 배치할 요소 리스트를 지정합니다. 각 요소는 첫 번째 항목이 레이아웃 이름이고, 다른 하나는 레이아웃인 튜플(또는 다른 시퀀스 형)입니다.

추가 위젯

다음 테마 위젯들은 tkinter.ttk 위젯 세트를 완성합니다. 각 위젯은 동일한 이름을 가진 클래식 tkinter 위젯의 테마 버전에 해당하며, Widget 의 공통 메서드를 상속합니다.

class tkinter.ttk.Button(master=None, **kw)

Ttk Button 위젯은 텍스트 레이블 및/또는 이미지를 표시하며, 눌렸을 때 명령을 실행합니다. 이는 tkinter.Button 의 테마 버전이며, Widget 에서 공통 위젯 메서드를 상속합니다.

invoke()

버전에 연결된 명령을 실행하고 그 결과를 반환합니다.

class tkinter.ttk.Checkbutton(master=None, **kw)

Tkk Checkbutton 위젯은 켜짐/꺼짐 상태가 전환되는 불리언 변수를 제어하는 데 사용됩니다. 이는 tkinter.Checkbutton 의 테마 버전이며, Widget 에서 공통 위젯 메서드를 상속합니다.

invoke()

버튼의 선택 및 해제 상태를 전환하고, 버튼과 연결된 명령을 실행한 후 결과를 반환합니다.

class tkinter.ttk.Entry(master=None, widget=None, **kw)

Ttk Entry 위젯은 한 줄의 텍스트 문자열을 표시하며 사용자가 이를 편집할 수 있게 합니다. 이는 tkinter.Entry 의 테마 버전이며, Widget 의 공통 위젯 메서드와 tkinter.Entry 의 편집 메서드를 상속합니다.

bbox(index)

지정된 index 에 있는 문자의 경계 상자를 나타내는 튜플 (x, y, width, height) 를 반환합니다.

이것은 상속된 Misc.bbox() 를 가립니다. 그리드 경계 상자의 경우 grid_bbox() 를 사용하십시오.

identify(x, y)

xy 로 지정된 위치에 있는 요소의 이름을 반환하며, 해당 위치에 요소가 없으면 빈 문자열을 반환합니다.

validate()

엔트리 검증을 강제하고, 검증이 성공하면 True 를, 그렇지 않으면 False 를 반환합니다.

class tkinter.ttk.Frame(master=None, **kw)

Tkk Frame 위젯은 다른 위젯을 그룹화하고 배치하는 데 사용되는 컨테이너입니다. 이는 tkinter.Frame 의 테마 버전이며, Widget 에서 공통 위젯 메서드를 상속합니다.

class tkinter.ttk.Label(master=None, **kw)

Tkk Label 위젯은 텍스트 레이블 및/또는 이미지를 표시합니다. 이는 tkinter.Label 의 테마 버전이며, Widget 에서 공통 위젯 메서드를 상속합니다.

class tkinter.ttk.Labelframe(master=None, **kw)

Tkk Labelframe 위젯은 콘텐츠 주위에 테두리와 제목 레이블을 그리는 컨테이너입니다. 이는 tkinter.LabelFrame 의 테마 버전이며, Widget 에서 공음 위젯 메서드를 상속합니다.

class tkinter.ttk.Menubutton(master=None, **kw)

Tkk Menubutton 위젯은 텍스트 레이블 및/또는 이미지를 표시하며, 눌렸을 때 메뉴를 팝업으로 띄웁니다. 이는 tkinter.Menubutton 의 테마 버전이며, Widget 에서 공통 위젯 메서드를 상속합니다.

class tkinter.ttk.OptionMenu(master, variable, default=None, *values, **kwargs)

Tkk OptionMenu 위젯은 상호 배타적인 선택 항목의 메뉴를 팝업하는 Menubutton 입니다. variable 은 현재 선택된 값을 추적하는 변수이며, default 는 초기 설정 값, values 는 메뉴에 표시할 항목들입니다. command 키워드 인자를 사용하여 선택이 변경될 때마다 실행되는 콜러블을 지정할 수 있으며, style 키워드 인자는 기본 Menubutton에서 사용하는 스타일을 설정하고, name 키워드 인자는 Tk 위젯 이름을 설정합니다.

set_menu(default=None, *values)

메뉴 항목을 values 로 교체합니다. default 가 제공되면, 이를 variable 의 현재 값으로도 설정합니다.

destroy()

이 위젯과 관련 메뉴를 파괴합니다.

버전 3.14에서 변경: name 키워드 인자 지원이 추가되었습니다.

class tkinter.ttk.Panedwindow(master=None, **kw)

Tkk Panedwindow 위젯은 수직 또는 수평으로 쌓인 여러 하위 창을 표시합니다. 사용자는 영역 사이의 구분선(sash)을 드래그하여 하위 창의 상대적 크기를 조절할 수 있습니다. 이는 tkinter.PanedWindow 의 테마 버전이며, Widget 의 공통 위젯 메서드와 tkinter.PanedWindowadd(), panes() 메서드를 상속합니다.

insert(pos, child, **kw)

pos 위치에 child 를 포함하는 Pane을 삽입합니다. pos 은 문자열 'end', 정수 인덱스 또는 관리되는 하위 창의 이름입니다. 만약 child 가 이미 분할 창(paned window)에서 관리되고 있다면, 이를 지정된 위치로 이동합니다. 키워드 인수는 Pane 옵션을 설정하는 데 사용됩니다.

forget(child)

정수 인덱스 또는 관리되는 하위 창의 이름일 수 있는 child 를 Pane에서 제거합니다.

이것은 상속된 지오메트리 관리자 메서드인 forget() 을 가립니다. 위젯 자체를 매니저에서 제거하려면 pack_forget(), grid_forget() 또는 place_forget() 을 사용하십시오.

pane(pane, option=None, **kw)

정수 인덱스 또는 관리되는 하위 창의 이름인 지정된 pane 의 옵션을 조회하거나 수정합니다. 인수가 제공되지 않으면 Pane 옵션 값의 딕셔너리를 반환합니다. option 이 지정되면 해당 옵션의 값을 반환합니다. 그렇지 않으면 키워드 인수로 전달된 옵션을 해당 값으로 설정합니다.

sashpos(index, newpos=None)

newpos 가 지정되면 index 번 Sash의 위치를 설정하고 새 위치를 반환합니다. 이 과정에서 위치가 단조 증가하도록 인접한 Sash들의 위치가 조정될 수 있으며, 모든 위치는 0과 위젯의 전체 크사이로 제한됩니다. newpos 가 생략된 경우 Sash의 현재 위치를 반환합니다.

class tkinter.ttk.Radiobutton(master=None, **kw)

Ttk Radiobutton 위젯은 상호 배타적인 여러 값 중 하나를 선택하여 단일 공유 변수를 제어하는 그룹의 일부로 사용됩니다. 이는 tkinter.Radiobutton 의 테마 기반 대응 위젯이며, Widget 으로부터 공통 위젯 메서드를 상속합니다.

invoke()

옵션 변수를 버튼 값으로 설정하고, 버튼을 선택하며, 버튼과 관련된 명령을 실행한 후 그 결과를 반환합니다.

class tkinter.ttk.Scale(master=None, **kw)

Ttk Scale 위젯은 사용자가 트로프(trough)를 따라 슬라이더를 움직여 범위 내에서 숫자 값을 선택할 수 있게 하는 슬라이더를 표시합니다. 이는 tkinter.Scale 의 테마 기반 대응 위젯이며, Widget 으로부터 공통 위젯 메서드를 상속합니다.

configure(cnf=None, **kw)

Widget.configure <tkinter.Misc.configure>`와 같이 위젯 옵션을 수정하거나 조회합니다. 또한 메서드는 현재 값이 범위 내에 머물도록 ``from`()to 값을 제한(clip)합니다.

버전 3.9에서 변경: 이제 Widget.configure 와 같이 구성 값을 반환합니다.

get(x=None, y=None)

Scale의 현재 값을 반환합니다. xy 가 제공된 경우, 대신 픽셀 좌표 x, y 에 해당하는 값을 반환합니다.

class tkinter.ttk.Scrollbar(master=None, **kw)

Ttk Scrollbar 위젯은 Treeview, Entry 또는 tkinter.Text 와 같은 연관된 스크롤 가능 위젯의 뷰포트를 제어합니다. 이는 tkinter.Scrollbar 의 테마 기반 대응 위젯이며, Widget 으로부터 공통 위젯 메서드와 tkinter.Scrollbar 로부터 set()get() 메서드를 상속합니다.

class tkinter.ttk.Separator(master=None, **kw)

Tkk Separator 위젯은 가로 또는 세로 구분선을 표시합니다. tkinter 에는 직접적인 대응 위젯이 없으며, Widget 으로부터 공통 위젯 메서드를 상속합니다.

class tkinter.ttk.Sizegrip(master=None, **kw)

Tkk Sizegrip 위젯은 사용자가 그립(grip)을 누르고 드래그하여 포함된 최상위 창의 크기를 조정할 수 있게 하는 그립을 표시하며, 일반적으로 오른쪽 하단 모서리에 위치합니다. tkinter 에는 직접적인 대응 위젯이 없으며, Widget 으로부터 공통 위젯 메서드를 상속합니다.

class tkinter.ttk.LabeledScale(master=None, variable=None, from_=0, to=10, **kw)

현재 값을 표시하는 LabelScale 을 포함하는 Frame 입니다. variable 은 스케일에서 추적하는 IntVar 이며(지정하지 않은 경우 하나가 생성됨), from_to 는 스케일의 범위를 정의합니다.

destroy()

이 위젯을 파괴하고 관련 변수에 등록된 트레이스 콜백(trace callback)을 제거합니다.

class tkinter.ttk.LabelFrame(master=None, **kw)

Labelframe 의 별칭이며, tkinter.LabelFrame 과의 명명 호환성을 위해 유지됩니다.

class tkinter.ttk.PanedWindow(master=None, **kw)

Panedwindow 의 별칭이며, tkinter.PanedWindow 와의 명명 호환성을 위해 유지됩니다.

분실물 보관소