위젯 클래스
tkinter는 GUI 작성에 필요한 위젯들을 제공합니다. 우리는 이 장에서 필수적인 위젯만을 엄선하여 학습할 것입니다.
- Button
- 간단한 버튼으로 명령을 수행할 때 사용됩니다.
- Canvas
- Checkbutton
- 2가지의 구별되는 값을 가지는 변수를 표현합니다.
- Entry
- Frame
- 컨테이너 클래스입니다. 프레임은 경계선과 배경을 가지고 있습니다.
- 다른 위젯들을 그룹핑하는데 사용됩니다.
- Label
- Listbox
- Menu
- 메뉴를 표시합니다. 풀다운 메뉴나 팝업 메뉴가 가능합니다.
- Menubutton
- Message
- 텍스트를 표시합니다. 레이블 위젯과 비슷합니다. 하지만 자동적으로 주어진 크기로 텍스트를 축소할 수 있습니다.
- Radiobutton
- Scale
- 슬라이더를 끌어서 수치값을 입력하는데 사용됩니다.
- Scrollbar
- 캔버스, 엔트리, 리스트 박스, 텍스트 위젯을 위한 스크롤바를 제공합니다.
- Text
- 형식을 가지는 텍스트를 표시합니다. 여러 가지 스타일과 속성으로 텍스트를 표시할 수 있습니다.
- Toplevel
- 최상위 윈도우로 표시되는 독립적인 컨테이너 위젯입니다.
- LavelFrame
- 경계선과 제목을 가지는 프레임 위젯의 변형입니다.
- PanedWindow
- 자식 위젯들을 크기 조절이 가능한 패널로 관리하는 컨테이너 위젯입니다.
- Spinbox
- 특정한 범위에서 값을 선택하는 엔트리 위젯의 변형입니다.
단순 위젯과 컨테이너 위젯
파이썬이 제공하는 위젯은 크게 단순 위젯과 컨테이너 위젯으로 나누어집니다. 컨테이너란 다른 위젯들을 내부에 넣을 수 있는 위젯을 의미합니다.
- 단순 위젯
- 단순한 위젯으로서 Button, Canvas, Checkbutton, Entry, Label, Message 등이 여기에 속합니다.
- 컨테이너 컴포넌트
- 다른 컴포넌트를 안에 포함할 수 있는 컴포넌트로서 Frame, Toplevel, Label, Frame, PanedWindow 등이 여기에 속합니다.
배치 관리자
배치 관리자는 컨테이너 안에서 위젯들의 위치와 크기를 결정하는 객체입니다. 독서실에서는 보통 관리자가 있어서 독서실에 출입하는 학생들의 위치를 결정해줍니다.
배치 관리자도 위젯들의 위치와 크기를 관리합니다.
- Grid
- 격자 배치 관리자(grid geometry manager)는 테이블 형태의 배치를 가능하게 합니다. 위젯을 2차원적인 그리드에 배치합니다.
- 격자 배치 관리자를 사용하려면 grid() 메소드를 사용합니다.
- Pack
- 압축 배치 관리자(pack geometry manager)는 위젯들을 부모 위젯 안에 압축합니다. 자식 위젯들을 사각형 블록으로 간주하여 프레임 안에 배치합니다.
- 압축 배치 관리자를 사용하려면 pack() 메소드를 사용합니다.
- Place
- 절대 배치 관리자(place geometry manager)는 주어진 위치에 위젯을 배치합니다.
- 절대 배치 관리자를 사용하려면 place() 메소드를 사용합니다.