Tk를 이용한 그래픽 사용자 인터페이스
Tk를 이용한 그래픽 사용자 인터페이스 (GUI)
Tk/Tcl은 오랫동안 파이썬의 핵심 일부였어요. tkinter 패키지와 그 확장 모듈인 tkinter.ttk를 통해 파이썬 프로그래머가 쓸 수 있는, 견고하고 플랫폼 독립적인 윈도우 툴킷(window toolkit)을 제공하죠.
tkinter 패키지는 Tcl/Tk 위의 얇은 객체지향 레이어예요. tkinter를 쓰려면 Tcl 코드를 작성할 필요는 없지만, Tk 문서(때로는 Tcl 문서)를 참고할 필요는 있어요. tkinter는 Tk 위젯을 파이썬 클래스로 구현한 래퍼(wrapper)들의 집합입니다.
tkinter의 큰 장점은 빠르고, 보통 파이썬에 함께 번들로 딸려 온다는 점이에요. 표준 문서는 빈약하지만 좋은 자료는 많아요 — 레퍼런스, 튜토리얼, 책 등이 있죠. tkinter는 낡은 느낌과 모양(look and feel)으로도 유명한데, 이건 Tk 8.5에서 크게 개선됐어요. 그래도 관심을 가질 만한 GUI 라이브러리는 많습니다. 파이썬 위키에 여러 대안 GUI 프레임워크와 도구가 나열돼 있어요.
본문
이 관련 문서들에서 다루는 모듈과 주제는 다음과 같아요.
- tkinter — Tcl/Tk용 파이썬 인터페이스 — 아키텍처, tkinter 모듈들, Tkinter 생명 구조(Tkinter life preserver), Hello World 프로그램, 중요한 Tk 개념, Tkinter가 Tcl/Tk를 감싸는 방식 이해, "어떻게…? 어떤 옵션이…?", Tcl/Tk 레퍼런스 매뉴얼 탐색, 쓰레딩 모델, 편리한 레퍼런스, 옵션 설정, 지오메트리 관리, 위젯 변수 결합, 윈도우 매니저, Tk 옵션 데이터 타입, 바인딩과 이벤트, index 파라미터, 이미지.
- Reference: 기반·mixin 클래스, Toplevel 위젯, 위젯 클래스, 변수 클래스, 이미지 클래스, 기타 클래스, 모듈 수준 함수, 파일 핸들러, 상수.
- tkinter.colorchooser — 색상 선택 대화상자
- tkinter.font — Tkinter 폰트 래퍼
- Tkinter 대화상자 — tkinter.simpledialog(표준 입력 대화상자), tkinter.filedialog(파일 선택 대화상자, 네이티브 load/save 대화상자), tkinter.commondialog(대화상자 창 템플릿), tkinter.dialog(클래식 Tk 대화상자), tkinter.messagebox(메시지 프롬프트).
- tkinter.scrolledtext — 스크롤된 텍스트 위젯
- tkinter.dnd — 드래그 앤 드롭 지원
- tkinter.ttk — Tk 테마 위젯 — Ttk 사용법, Ttk 위젯, 위젯, 표준 옵션, 스크롤 가능 위젯 옵션, 라벨 옵션, 호환 옵션, 위젯 상태.
ttk.Widget,Combobox(옵션, 가상 이벤트,ttk.Combobox),Spinbox(옵션, 가상 이벤트,ttk.Spinbox),Notebook(옵션, 탭 옵션, 탭 식별자, 가상 이벤트,ttk.Notebook),Progressbar(옵션,ttk.Progressbar),Separator(옵션),Sizegrip(플랫폼별 참고, 버그),Treeview(옵션, 항목 옵션, 태그 옵션, 열 식별자, 가상 이벤트,ttk.Treeview). Ttk 스타일링, 레이아웃, 추가 위젯. - IDLE — 파이썬 편집기와 셸 — 메뉴(File/Edit/Format/Run/Shell/Debug/Options/Window/Help/Context menus), 편집과 내비게이션, 셸 창, 시작과 코드 실행, tkinter 애플리케이션 개발, 도움말과 환경설정, IDLE on macOS, 확장. 구현은
idlelib모듈. - turtle — 터틀 그래픽 — 소개, 시작하기, 튜토리얼, 터틀 그래픽 레퍼런스, 퍼블릭 클래스, 도움말과 설정, turtledemo, Python 2.6/3.0 이후의 변경사항.