안녕하세요! 김코딩입니다.
중급자를 위한 파이썬 활용 시리즈의 세 번째 시간에 오셨군요! 지난 글에서는 파이썬 데이터 분석에 대해 배우면서 pandas
와 matplotlib
을 활용해 데이터를 다뤄봤어요. 오늘은 새로운 주제로 넘어가 볼 거예요. 바로 GUI(Graphical User Interface) 프로그램 만들기입니다!
우리는 지금까지 콘솔에서 실행되는 프로그램을 주로 만들어왔어요. 하지만 GUI를 활용하면 마우스로 클릭할 수 있는 창을 만들 수 있어요. 오늘은 파이썬에서 기본적으로 제공하는 tkinter
라이브러리를 이용해 간단한 계산기를 만들어 보겠습니다. 중급자도 이해할 수 있도록 자세히 설명할 테니 끝까지 따라와 주세요!
파이썬 GUI란?
GUI는 Graphical User Interface의 약자로, 사용자가 마우스 클릭이나 키보드 입력을 통해 직접 조작할 수 있는 프로그램 인터페이스를 의미해요. 여러분이 자주 사용하는 웹 브라우저, 메모장, 계산기 같은 프로그램도 모두 GUI 기반의 소프트웨어죠.
GUI 프로그램의 장점
- 사용자 친화적: 터미널 명령어보다 직관적으로 사용할 수 있어요.
- 더 나은 인터랙션: 버튼, 텍스트 입력창 등을 이용해 사용자와 소통할 수 있어요.
- 가시적인 결과: 콘솔에서 숫자와 텍스트만 보던 것보다 더 직관적인 인터페이스를 제공할 수 있어요.
이제 본격적으로 tkinter
를 사용해서 GUI 프로그램을 만들어볼까요? 😊
Tkinter 소개 및 기본 창 만들기
Tkinter란?
tkinter
는 파이썬에서 기본적으로 제공하는 GUI 라이브러리로, 별도의 설치 없이 바로 사용할 수 있어요.
Tkinter로 기본 창 만들기
아래 코드를 실행하면 300×200 크기의 빈 창이 나타납니다.
import tkinter as tk
# 창 생성
window = tk.Tk()
# 창 설정
window.title("나의 첫 창")
window.geometry("300x200")
# 창 실행
window.mainloop()
코드 설명

Tk()
: 창을 생성하는 메서드title()
: 창의 제목을 설정하는 메서드geometry()
: 창의 크기를 지정하는 메서드mainloop()
: 창이 계속 떠 있도록 유지하는 메서드
이제 실행하면 파이썬 GUI 창이 생성되는 걸 볼 수 있을 거예요!
창에 텍스트 추가하기
GUI에서 가장 기본적인 요소 중 하나가 **텍스트(Label)**예요. 아래 코드처럼 Label
을 추가해보겠습니다.
import tkinter as tk
window = tk.Tk()
window.title("텍스트 창")
window.geometry("300x200")
# 텍스트 추가
label = tk.Label(window, text="안녕하세요!")
label.pack()
window.mainloop()
코드 설명
Label()
: 창(window) 안에 텍스트를 표시하는 위젯pack()
: 위젯을 자동으로 창에 배치하는 메서드
이제 실행하면 “안녕하세요!”라는 글자가 나타나는 창이 표시될 거예요.
간단한 GUI 예제: 계산기 만들기
이제 tkinter
를 활용해 간단한 덧셈 계산기를 만들어 볼게요. 사용자가 두 개의 숫자를 입력하고 “더하기” 버튼을 누르면 결과가 표시되는 간단한 프로그램입니다.
Tkinter 계산기 코드
import tkinter as tk
def calculate():
try:
num1 = float(entry1.get())
num2 = float(entry2.get())
result = num1 + num2
result_label.config(text=f"결과: {result}")
except ValueError:
result_label.config(text="올바른 숫자를 입력하세요!")
# 창 생성
window = tk.Tk()
window.title("간단한 계산기")
window.geometry("400x300")
# 입력창 1
entry1 = tk.Entry(window)
entry1.pack()
# 입력창 2
entry2 = tk.Entry(window)
entry2.pack()
# 버튼
button = tk.Button(window, text="더하기", command=calculate)
button.pack()
# 결과 표시
result_label = tk.Label(window, text="결과: ")
result_label.pack()
# 창 실행
window.mainloop()
코드 설명
Entry()
: 사용자로부터 입력을 받을 수 있는 입력창Button()
: 버튼을 생성하며,command=calculate
로 버튼을 클릭하면calculate()
함수가 실행됨Label()
: 결과를 표시하는 텍스트calculate()
: 두 입력값을 더한 후 결과를result_label
에 표시

이제 실행하면 간단한 계산기 프로그램이 나타날 거예요!
초보자를 위한 GUI 설계 팁
GUI 프로그램을 만들 때 고려해야 할 중요한 점들이 있어요. 몇 가지 팁을 소개할게요!
1️⃣ 간단한 레이아웃부터 시작하기
복잡한 UI를 한 번에 만들려 하지 말고, 기본적인 구성부터 시작해 점진적으로 확장하세요.
2️⃣ 사용자 경험(UX) 고려하기
- 버튼과 입력창을 직관적으로 배치하세요.
- 결과가 명확하게 표시되도록 디자인하세요.
3️⃣ 예외 처리 추가하기
사용자가 잘못된 값을 입력할 가능성이 크므로, 오류 메시지를 표시하도록 예외 처리를 추가하는 것이 좋아요.
추천 리소스
다음 단계는?
오늘은 tkinter
를 이용해 GUI 프로그램의 기본 개념을 배우고, 간단한 계산기를 만들어 보았어요. 😊
다음에는 더 복잡한 GUI 프로그램을 만들어볼 거예요. 예를 들어, 여러 창을 사용하는 방법이나 API와 연동하는 방법을 다룰 예정이에요. 기대해주세요!
궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 그럼 다음 글에서 만나요! 👋
[…] 김코딩입니다. 중급자를 위한 파이썬 활용 시리즈의 네 번째 시간이에요! 지난 시간에는 tkinter를 사용해 GUI 계산기 프로그램을 만들었죠? 이번에는 한 단계 더 나아가서, […]