Tk를 이용한 그래픽 사용자 인터페이스
Tk를 이용한 그래픽 사용자 인터페이스
Tk/Tcl은 오랫동안 Python의 핵심적인 일부였어요. Tk/Tcl은 견고하고 플랫폼 독립적인 윈도우 도구 키트(window toolkit)를 제공하며, Python 프로그래머는 tkinter 패키지와 그 확장인 tkinter.ttk 모듈을 통해 사용할 수 있어요.
tkinter 패키지는 Tcl/Tk 위의 얇은 객체 지향 계층이에요. tkinter를 사용하기 위해 Tcl 코드를 작성할 필요는 없지만, Tk 문서와 가끔은 Tcl 문서를 참고해야 해요. tkinter는 Tk 위젯을 Python 클래스로 구현하는 래퍼(wrapper)들의 집합이에요.
본문
tkinter의 주요 장점은 빠르고 보통 Python에 번들로 제공된다는 점이에요. 표준 문서는 약하지만 훌륭한 자료가 많이 있으며, 참조 자료, 튜토리얼, 책 등이 포함돼요. tkinter는 또한 구식의 외관과 느낌으로 유명한데, 이는 Tk 8.5에서 크게 개선되었어요. 그럼에도 관심을 가질 만한 다른 GUI 라이브러리가 많이 있으며, Python wiki에는 여러 대체 GUI 프레임워크와 도구가 나열되어 있어요.
이 페이지는 다음 항목으로 구성돼요:
- tkinter — Tcl/Tk에 대한 Python 인터페이스: 아키텍처, Tkinter 모듈, Tkinter life preserver, Hello World 프로그램, 중요한 Tk 개념, Tkinter가 Tcl/Tk를 래핑하는 방법 이해, Tcl/Tk 참조 매뉴얼 탐색, 스레딩 모델, 편리한 참조, 옵션 설정, 지오메트리 관리(geometry management), 위젯 변수 결합, 윈도우 매니저, Tk 옵션 데이터 타입, 바인딩과 이벤트, index 매개변수, 이미지 등.
- 참조(Reference) — 기본 및 믹스인 클래스, Toplevel 위젯, 위젯 클래스, 변수 클래스, 이미지 클래스, 기타 클래스, 모듈 수준 함수, 파일 핸들러, 상수.
tkinter.colorchooser— 색상 선택 대화상자tkinter.font— Tkinter 폰트 래퍼- Tkinter 대화상자 —
tkinter.simpledialog,tkinter.filedialog(기본 로드/저장 대화상자),tkinter.commondialog,tkinter.dialog,tkinter.messagebox,tkinter.scrolledtext,tkinter.dnd tkinter.ttk— Tk 테마 위젯: Ttk 사용법, Ttk 위젯, 위젯 상태,ttk.Widget,Combobox,Spinbox,Notebook,Progressbar,Separator,Sizegrip,Treeview, Ttk 스타일링, 레이아웃, 추가 위젯.
- IDLE — Python 편집기와 셸: 메뉴(File, Edit, Format, Run, Shell, Debug, Options, Window, Help, 컨텍스트 메뉴), 편집과 탐색(편집기 창, 키 바인딩, 자동 들여쓰기, 검색과 바꾸기, 완성, 콜팁, 블록 형식, 코드 컨텍스트, 셸 창, 텍스트 색상), 시작과 코드 실행(명령줄 사용법, 시작 실패, 사용자 코드 실행, 셸에서 사용자 출력, tkinter 애플리케이션 개발, 하위 프로세스 없이 실행), 도움말과 기본 설정(도움말 소스, 기본 설정 지정, macOS의 IDLE, 확장).
- idlelib — IDLE 애플리케이션의 구현
- turtle — 터틀 그래픽: 소개, 시작하기, 튜토리얼, How to…, 터틀 그래픽 참조(터틀 메서드, TurtleScreen/Screen 메서드, RawTurtle/Turtle 메서드와 대응 함수, 터틀 이동, 상태 표시, 측정 설정, 펜 제어, 그리기 상태, 색상 제어, 채우기, 더 많은 그리기 제어, 터틀 상태, 가시성, 외관, 이벤트 사용, 특수 터틀 메서드, 복합 모양), TurtleScreen/Screen 메서드와 대응 함수(윈도우 제어, 애니메이션 제어, 화면 이벤트 사용, 입력 메서드, 설정과 특수 메서드, Screen 특유의 메서드, 공개 클래스, 예외), 설명, 도움말과 설정.
- turtledemo — 데모 스크립트
Tk로 GUI 애플리케이션을 만들 때는 tkinter 패키지(그리고 테마 위젯을 위한 tkinter.ttk 모듈)를 사용해요. tkinter는 Tk 위젯을 Python 클래스로 감싼 얇은 객체 지향 계층으로, Tcl 코드 작성 없이도 사용할 수 있어요.