Chapter 20. Tkinter 기초

IT 지식 / Python·2026.08.26
TKINTER BASIC
Chapter 20. Tkinter 기초
Tkinter를 사용하여 GUI 프로그램을 만드는 방법을 배웁니다.
laptop screen displaying colorful code
20.1 Tkinter란?

Tkinter는 파이썬에서 GUI(Graphic User Interface) 프로그램을 만들기 위한 기본 라이브러리입니다.

GUI 프로그램은 마우스로 버튼을 클릭하고, 창(Window)을 이용하여 사용하는 프로그램을 의미합니다.

예를 들어,

  • 메모장
  • 계산기
  • 회원관리 프로그램
  • 게시판 프로그램

등은 모두 GUI 프로그램입니다.

Tkinter는 파이썬에 기본 포함되어 있으므로 별도의 설치 없이 사용할 수 있습니다.

GUI와 콘솔 프로그램

콘솔 프로그램

이름 : 홍길동

나이 : 20

텍스트를 입력하여 사용하는 프로그램입니다.

GUI 프로그램

버튼과 입력창을 이용하여 사용할 수 있습니다.

Tkinter의 특징
  • 파이썬 기본 제공
  • 설치가 필요 없다
  • 배우기 쉽다
  • 작은 프로그램 제작에 적합하다
  • Windows, macOS, Linux에서 사용할 수 있다
Tkinter 가져오기
import tkinter as tk
20.2 Window

Window는 프로그램이 실행될 때 나타나는 메인 창(Main Window)입니다. 모든 GUI 프로그램은 Window에서 시작합니다.

첫 번째 Window 만들기
첫 번째 Window
import tkinter as tk

window = tk.Tk()
window.mainloop()

실행하면 빈 창이 나타납니다.

Window 제목
Window 제목 설정
import tkinter as tk

window = tk.Tk()
window.title("회원관리 프로그램")
window.mainloop()
Window 크기
Window 크기 설정
window.geometry("500x300")

가로 500픽셀, 세로 300픽셀입니다.

예제
Window 예제
import tkinter as tk

window = tk.Tk()
window.title("Python GUI")
window.geometry("600x400")
window.mainloop()
Window 크기 변경 금지
크기 변경 금지
window.resizable(False, False)

가로와 세로 크기를 변경할 수 없게 만듭니다.

Window 배경색
배경색 설정
window.configure(bg="lightblue")
Window 종료
프로그램 종료
window.destroy()

프로그램을 종료합니다.

20.3 Frame

Frame은 여러 개의 위젯(Widget)을 묶어 관리하는 컨테이너(Container)입니다. 복잡한 화면을 만들 때 많이 사용됩니다.

Frame 생성
Frame 생성
frame = tk.Frame(window)
Frame 배치
Frame 배치
frame.pack()
Frame 예제
Frame 예제
import tkinter as tk

window = tk.Tk()
frame = tk.Frame(window)
frame.pack()
window.mainloop()
Frame 색상
Frame 색상 설정
frame = tk.Frame(
    window,
    bg="yellow",
    width=300,
    height=200
)
Frame 안에 Label
Label 추가
label = tk.Label(
    frame,
    text="회원관리"
)
label.pack()
여러 개의 Frame
여러 Frame 생성
top = tk.Frame(window)
center = tk.Frame(window)
bottom = tk.Frame(window)
top.pack()
center.pack()
bottom.pack()

실무에서는 화면을 여러 개의 Frame으로 나누어 구성합니다.

20.4 Layout

Layout은 화면에 위젯을 배치하는 방법입니다.

Tkinter에는 세 가지 레이아웃이 있습니다.

  • pack() : 간단
  • grid() : 표형태 row=0,column=0
  • place() : 좌표지정
pack()

가장 간단한 배치 방법입니다.

Button 추가
button = tk.Button(
    window,
    text="등록"
)
button.pack()
방향 지정
방향 지정
button.pack(side="left")
button.pack(side="right")
grid(row=0,column=0)

행(Row)과 열(Column) 형태로 배치합니다.

가장 많이 사용하는 방식입니다.

grid 예제
import tkinter as tk

window = tk.Tk()
window.title("Python GUI")
window.geometry("600x400")
tk.Label(window,text="이름").grid(row=0,column=0)
tk.Entry(window).grid(row=0,column=1)
tk.Label(window,text="나이").grid(row=1,column=0)
tk.Entry(window).grid(row=1,column=1)
window.mainloop()
place(x=0, y=0)

절대 좌표를 이용하여 배치합니다.

place 예제
button.place(
    x=100,
    y=50
)

원하는 위치에 자유롭게 배치할 수 있습니다.

Layout 비교
방식 특징
pack(fill) 가장 간단
grid(row=0, column=0) 표 형태 배치
place(x=0, y=0) 좌표 지정

실무에서는 grid()를 가장 많이 사용합니다.

20.5 회원 입력 화면 만들기
회원 입력 화면 예제
import tkinter as tk

window = tk.Tk()
window.title("회원관리")
tk.Label(window,text="이름").grid(row=0,column=0)
tk.Entry(window).grid(row=0,column=1)
tk.Label(window,text="나이").grid(row=1,column=0)
tk.Entry(window).grid(row=1,column=1)
tk.Button(
    window,
    text="등록"
).grid(row=2,column=0,columnspan=2)

window.mainloop()

실행 화면

실행 결과
20.6 프로그램 구조
프로그램 구조
Window
│
├── Frame
│     ├── Label
│     ├── Entry
│     ├── Button
│
└── Frame
      ├── Listbox
      ├── Scrollbar
20.7 복합 예제
복합 예제
import tkinter as tk

window = tk.Tk()
window.title("회원관리 프로그램")
window.geometry("400x250")
frame = tk.Frame(window)
frame.pack(pady=20)
tk.Label(frame,text="이름").grid(row=0,column=0,padx=10,pady=5)
tk.Entry(frame).grid(row=0,column=1)
tk.Label(frame,text="나이").grid(row=1,column=0,padx=10,pady=5)
tk.Entry(frame).grid(row=1,column=1)
tk.Button(frame,text="등록").grid(row=2,column=0,columnspan=2,pady=10)
window.mainloop()

📌 Chapter 20 핵심 정리
  • Tkinter는 파이썬의 기본 GUI 라이브러리이다.
  • Window는 GUI 프로그램의 메인 창이다.
  • Frame은 여러 위젯을 묶어 관리하는 컨테이너이다.
  • Layout은 위젯을 배치하는 방법으로 pack, grid, place가 있다.
  • 회원 입력 화면을 쉽게 만들 수 있다.

프로그램·홈페이지·강의가 필요하신가요?

프로그램 판매, 무료 다운로드, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기