Tkinter를 이용한 Python GUI Programming - 1

2017. 6. 14. 14:44IT관련

반응형

tkinter sample application
tkinter sample application

 

 

Tkinter는 Python에 기본포함된 GUI toolkit이다. 즉, Python을 설치하면 바로 사용가능한 GUI 라이브러리이며, Tkinter는 Tk(Toolkit) interface의 약어이다.

Python 2.x에서는 Tkinter라고 되어 있고 Python 3.x에서는 tkinter라고 되어 있어 import 할 때 주의해야 한다.

# Python 2.x
#!/usr/bin/env python
from Tkinter import *


# Python 3.x
#!/usr/bin/env python3
from tkinter import *

 

또한 ttk라는 라이브러리는 Themed Tk라는 의미로써 GUI widget을 기능과 UI로 분리하여 UI를 쉽게 변경할 수 있게한 toolkit이다.

즉, ttk는 기존 Tkinter의 확장이라고 이해하는 편이 좋겠다.

Ttk 역시 Python 버전에 따라 import가 다르다.

# Python 2.x
#!/usr/bin/env python
from ttk import *


# Python 3.x
#!/usr/bin/env python3
from tkinter.ttk import *

 

Ttk는 총 17개의 widget을 지원하는데 11개는 Tkinter에서 제공하고 있는 것이며 추가로 6개의 widget을 지원한다.

 

Tkinter widgets

- Button

- Checkbutton

- Entry 

- Frame 

- Label

- LabelFrame

- Menubutton

- PanedWindow

- Radiobutton

- Scale

- Scrollbar

 

Ttk widgets

- Combobox

- Notebook

- Progressbar

- Separator

- Sizegrip

- Treeview

 

 

예제

#Tkinter 예제
l1 = Tkinter.Label(text="Test", fg="black", bg="white")
l2 = Tkinter.Label(text="Test", fg="black", bg="white")

#Ttk 예제
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")
l1 = ttk.Label(text="Test", style="BW.TLabel")
l2 = ttk.Label(text="Test", style="BW.TLabel")

 

 

 

Python 2.x용 tk API document: https://docs.python.org/2/library/tk.html

Python 3.x용 tk API documenthttps://docs.python.org/3.6/library/tk.html

반응형