파이썬 완전 초보 탈출 17강 – GUI 프로그래밍 입문: tkinter로 나만의 창 만들기!

파이썬 완전 초보 탈출 17강, 드디어 여러분은 텍스트 콘솔을 넘어 **GUI 프로그래밍**의 세계에 입문합니다!

이번 강의에서는 파이썬의 기본 GUI 라이브러리인 **tkinter(티킨터)** 를 사용하여 버튼, 입력창, 텍스트 라벨 등 시각적인 요소들이 포함된 프로그램을 만들어봅니다.

그동안은 콘솔에서 입력과 출력을 처리했지만, 이제는 **진짜 앱처럼 동작하는 프로그램**을 직접 구현할 수 있게 됩니다.

🎯 tkinter란?
tkinter는 파이썬에 기본 내장된 GUI 툴킷입니다. 별도 설치 없이 바로 사용할 수 있으며, 간단한 데스크탑 앱을 만들기에 충분한 기능을 제공합니다.

✅ 기본 창 만들기
“`python
import tkinter as tk

window = tk.Tk()
window.title(“나의 첫 GUI 프로그램”)
window.geometry(“300×200″)

window.mainloop()
“`
– `Tk()`는 새로운 윈도우 창 생성
– `title()`은 창의 제목 설정
– `geometry()`는 창의 크기 설정 (가로x세로)
– `mainloop()`는 이벤트 루프 (창을 계속 유지)

✅ 레이블(Label)과 버튼(Button)
“`python
import tkinter as tk

def say_hello():
label.config(text=”안녕하세요!”)

window = tk.Tk()
window.title(“버튼 예제”)

label = tk.Label(window, text=”버튼을 눌러보세요”)
label.pack()

btn = tk.Button(window, text=”클릭”, command=say_hello)
btn.pack()

window.mainloop()
“`
– `Label()`은 텍스트 출력
– `Button()`은 클릭 가능한 버튼 생성
– `command=` 뒤에 함수를 연결하면 버튼 클릭 시 해당 함수가 실행됨

✅ 입력창 (Entry) 사용하기
“`python
import tkinter as tk

def show_name():
name = entry.get()
label.config(text=f”안녕하세요, {name}님!”)

window = tk.Tk()
window.title(“이름 입력”)

entry = tk.Entry(window)
entry.pack()

btn = tk.Button(window, text=”인사하기”, command=show_name)
btn.pack()

label = tk.Label(window)
label.pack()

window.mainloop()
“`
– `Entry()`는 텍스트 입력창 생성
– `.get()`으로 입력값을 가져올 수 있음

✅ 리스트박스(Listbox)와 데이터 출력
“`python
import tkinter as tk

fruits = [“사과”, “바나나”, “포도”, “오렌지”]

window = tk.Tk()
window.title(“과일 목록”)

listbox = tk.Listbox(window)
for fruit in fruits:
listbox.insert(tk.END, fruit)
listbox.pack()

window.mainloop()
“`

📌 다양한 위젯들
– Label: 텍스트 표시
– Button: 클릭 버튼
– Entry: 텍스트 입력창
– Listbox: 목록 표시
– Text: 여러 줄 입력창
– Checkbutton, Radiobutton: 선택 항목
– Frame, Canvas 등으로 구조화 가능

✨ 실습 아이디어 – 간단한 메모 앱 만들기
– 텍스트 입력창 (Text)
– “저장” 버튼 → 파일로 저장
– “불러오기” 버튼 → 파일 내용 불러오기

💡 팁: 배치 관리 (pack, grid, place)
“`python
# 기본 정렬 방식
위젯.pack()

# 격자 배치
위젯.grid(row=0, column=1)

# 절대 위치
위젯.place(x=50, y=100)
“`

📚 오늘의 요약
– tkinter는 파이썬 내장 GUI 툴킷
– Label, Button, Entry 등 다양한 위젯 제공
– 이벤트 기반 방식으로 사용자 입력을 처리함
– 작은 창 기반 앱을 만들기에 매우 적합

📘 다음 강의 예고
18강: 실전 GUI 프로젝트 – 메모장, 계산기, 간단한 게임까지!
다음 시간엔 tkinter를 바탕으로 메모장, 계산기, 가위바위보 게임 등 실전 예제 프로젝트를 구현해보며 진짜 GUI 앱을 만드는 연습을 해볼 거예요. 많이 기대해주세요!

이 강의는 파이썬 완전 초보자를 위한 연재 시리즈입니다. 매주 새로운 강의로 업데이트됩니다.