# Tk를 사용한 그래픽 사용자 인터페이스

Tk/Tcl은 오랫동안 파이썬의 중요한 부분이었습니다. 견고하고 플랫폼 독립적인 윈도우 도구상자(파이썬 프로그래머는 `tkinter` 패키지를 통해 사용할 수 있습니다)와 그 확장(`tkinter.tix`와 `tkinter.ttk` 모듈)을 제공합니다.

The `tkinter` package is a thin object-oriented layer on top of Tcl/Tk. To use `tkinter`, you don’t need to write Tcl code, but you will need to consult the Tk documentation, and occasionally the Tcl documentation. `tkinter` is a set of wrappers that implement the Tk widgets as Python classes.

`tkinter`’s chief virtues are that it is fast, and that it usually comes bundled with Python. Although its standard documentation is weak, good material is available, which includes: references, tutorials, a book and others. `tkinter` is also famous for having an outdated look and feel, which has been vastly improved in Tk 8.5. Nevertheless, there are many other GUI libraries that you could be interested in. The Python wiki lists several alternative GUI frameworks and tools.

- `tkinter` — Python interface to Tcl/Tk
  - Architecture
  - Tkinter 모듈
  - Tkinter 구명조끼
    - A Hello World Program
    - Important Tk Concepts
    - Understanding How Tkinter Wraps Tcl/Tk
    - How do I…? What option does…?
    - Navigating the Tcl/Tk Reference Manual
  - Threading model
  - 간편한 레퍼런스
    - 옵션 설정
    - 패커
    - 패커 옵션
    - 위젯 변수 결합하기
    - 창 관리자
    - Tk 옵션 데이터형
    - 바인딩과 이벤트
    - index 매개 변수
    - 이미지
  - 파일 처리기
- `tkinter.colorchooser` — Color choosing dialog
- `tkinter.font` — Tkinter font wrapper
- Tkinter 대화 상자
  - `tkinter.simpledialog` — 표준 Tkinter 입력 대화 상자
  - `tkinter.filedialog` — 파일 선택 대화 상자
    - 네이티브 로드/저장 대화 상자
  - `tkinter.commondialog` — 대화창 템플릿
- `tkinter.messagebox` — Tkinter message prompts
- `tkinter.scrolledtext` — Scrolled Text Widget
- `tkinter.dnd` — Drag and drop support
- `tkinter.ttk` — Tk themed widgets
  - Ttk 사용하기
  - Ttk 위젯
  - Widget
    - 표준 옵션
    - 스크롤 가능한 위젯 옵션
    - 레이블 옵션
    - 호환성 옵션
    - 위젯 상태
    - ttk.Widget
  - Combobox
    - 옵션
    - 가상 이벤트
    - ttk.Combobox
  - Spinbox
    - 옵션
    - 가상 이벤트
    - ttk.Spinbox
  - Notebook
    - 옵션
    - 탭 옵션
    - 탭 식별자
    - 가상 이벤트
    - ttk.Notebook
  - Progressbar
    - 옵션
    - ttk.Progressbar
  - Separator
    - 옵션
  - Sizegrip
    - 플랫폼별 노트
    - 버그
  - Treeview
    - 옵션
    - 항목 옵션
    - 태그 옵션
    - 열 식별자
    - 가상 이벤트
    - ttk.Treeview
  - Ttk 스타일링
    - 레이아웃
- `tkinter.tix` — Extension widgets for Tk
  - Using Tix
  - Tix Widgets
    - Basic Widgets
    - File Selectors
    - Hierarchical ListBox
    - Tabular ListBox
    - Manager Widgets
    - Image Types
    - Miscellaneous Widgets
    - Form Geometry Manager
  - Tix Commands
- IDLE
  - 메뉴
    - File 메뉴 (셸과 편집기)
    - Edit 메뉴 (셸과 편집기)
    - Format 메뉴 (편집기 창 전용)
    - Run 메뉴 (편집기 창 전용)
    - Shell 메뉴 (셸 창 전용)
    - Debug 메뉴 (셸 창 전용)
    - Options 메뉴 (셸과 편집기)
    - Window 메뉴 (셸과 편집기)
    - Help 메뉴 (셸과 편집기)
    - Context menus
  - Editing and Navigation
    - 편집기 창
    - 키 바인딩
    - 자동 들여쓰기
    - Search and Replace
    - 완성
    - 콜팁
    - 코드 컨텍스트
    - Shell window
    - 텍스트 색상
  - Startup and Code Execution
    - 명령 줄 사용법
    - 시작 실패
    - 사용자 코드 실행하기
    - 셸의 사용자 출력
    - tkinter 응용 프로그램 개발하기
    - 서브 프로세스 없이 실행하기
  - Help and Preferences
    - 도움말 소스
    - 환경 설정
    - macOS의 IDLE
    - 확장
  - idlelib