강의노트 tkinter 모듈과 tkinter.kkt모듈의 차이점
강의노트
• 조회수 41
• 댓글 0
• 작성 9개월 전
• 수정 1주 전
tkinter와 tkinter.ttk
tkinter패키지는 Tcl/Tk GUI 툴킷에 대한 표준 파이썬 인터페이스이다. Tcl 라이브러리는 하나 이상의 Tcl인터프리터 인스턴스를 생성 및 관리하고 해당 인스턴스에서 명령과 스크립트를 실행한다.
tk는 C로 구현된 Tcl패키지로 GUI 위젯을 생성하고 조작하는 사용자 정의 명령을 추가한다. ttk는 기존 tk위젯보다 다양한 플랫폼에서 뛰어난 디자인을 제공하는 새로운 tk위젯 제품군이다.
대부분의 애플리케이션은 기본 tkinter 모듈에, 최신 테마 위젯 세트와 API는 tkinter.ttk에 있다.
tkinter에 존재하는 위젯은 12개이다.
Button | Checkbutton | Entry | Frame |
Label | LabelFrame | Menubutton | PanedWindow |
Radiobutton | Scale | Scrollbar | Spinbox |
ttk에는 18개의 위젯이 있으며, 그중 12개는 tkinter에 이미 존재한다. ttk에만 존재하는 6개 위젯이 있다.
Combobox | Notebook | Progressbar |
Separator | Sizegrip | Treeview |
이들은 모두 widget의 서브 클래스이다.
tk와 ttk 위젯은 완전히 호환되지 않는다. 주요 차이점은 tk의 “fg”, “bg” 및 위젯 스타일과 관련된 다른 위젯 옵션이 ttk 위젯에 존재하지 않는다. 대신, ttk는 ttk.Style 클래스를 사용해야된다.
다음 두 프로그램의 결과는 같지만 프로그램에서 tk와 ttk의 차이점을 보여주는 예제이다.
tk코드:
import tkinter as tk
win = tk.Tk()
label = tk.Label(text="Test", fg="black", bg="white")
label.pack()
win.mainloop()
ttk코드:
from tkinter import ttk
import tkinter as tk
win = tk.Tk()
style = ttk.Style()
style.configure("TLabel", foreground="black", background="white")
label = ttk.Label(text="Test", style="TLabel")
label.pack()
win.mainloop()
이전 글
다음 글
로그인 하면 댓글을 쓸 수 있습니다.