파이썬 GUI 프로그램 만들기 #14: 중급자를 위한 Tkinter 계산기 가이드

안녕하세요! 김코딩입니다.

중급자를 위한 파이썬 활용 시리즈의 세 번째 시간에 오셨군요! 지난 글에서는 파이썬 데이터 분석에 대해 배우면서 pandasmatplotlib을 활용해 데이터를 다뤄봤어요. 오늘은 새로운 주제로 넘어가 볼 거예요. 바로 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 공식 문서바로 가기
Tkinter 튜토리얼GUI 설계 팁과 예제바로 가기

다음 단계는?

오늘은 tkinter를 이용해 GUI 프로그램의 기본 개념을 배우고, 간단한 계산기를 만들어 보았어요. 😊

다음에는 더 복잡한 GUI 프로그램을 만들어볼 거예요. 예를 들어, 여러 창을 사용하는 방법이나 API와 연동하는 방법을 다룰 예정이에요. 기대해주세요!

궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 그럼 다음 글에서 만나요! 👋

One comment

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다