안녕하세요! 김코딩입니다.
중급자를 위한 파이썬 활용 시리즈의 세 번째 시간에 오셨군요! 지난 글에서는 파이썬 데이터 분석에 대해 배우면서 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 계산기 프로그램을 만들었죠? 이번에는 한 단계 더 나아가서, […]