이번 포스팅에서도 파이썬 을 좀 더 잘 익히기 위해 간단한 프로젝트를 진행해보겠습니다.
간단한 계산기 GUI(그래픽 사용자 인터페이스)를 만드는 방법 을 통해 Tkinker 라이브러리 사용법을 배워보도록 하겠습니다.
그 외에 파이썬의 연사자 와 함수 에 대해 궁금하시면 아래 포스팅을 같이 참고해주세요
✅ 파이썬 프로젝트 정리
[ python ] 파이썬으로 카운트다운 타이머 만들기 (time 모듈 과 while문 )
[ python ] 파이썬으로 가위바위보 게임 만들기 (random 모듈 과 조건문 )
✅ 연산자 문법 정리
[ 파이썬 ] 비교 연산자 문법 정리 ( ==, !=, >, <, >=, <= ) 및 예제
[파이썬] 산술 연산자 문법 정리 ( + , - , * , / , % , **, // ) 및 예제
[ 파이썬 ] 논리 연산자 문법 정리 ( AND,OR,NOT ) 및 예제
[ 파이썬 ] 할당 연산자 문법 정리 ( =,+=,-=,/=,//=,%=,*=,**= ) 및 예제
✅ 함수 문법 정리
[ 파이썬 ] len() 함수 사용법 및 실제 프로젝트 예제
[ 파이썬 ] join() 함수 사용법 및 실제 프로젝트 예제
실무에서 가장 많이 쓰이는 파이썬 함수 25 개 모음집
✅ 개념 정리
[ 파이썬] 리스트(List) 와 튜플(Tuple) 의 차이점 및 실무 예제
# 1. Tkinter란 무엇인가요?
Tkinter는 파이썬에서 GUI를 만들 때 가장 많이 사용하는 라이브러리 중 하나입니다. Tkinter를 사용하면 윈도우 창, 버튼, 레이블 등 다양한 UI 요소를 쉽게 구성할 수 있습니다. 사용법이 간단하고 직관적이기 때문에 초보자도 쉽게 배우고 활용할 수 있습니다.
# 2. 계산기 GUI 프로젝트 준비물
먼저, 파이썬과 Tkinter를 이용해 계산기를 만들기 위한 환경을 준비해봅시다. 대부분의 파이썬 배포판에는 Tkinter가 포함되어 있으므로 별도의 설치 없이 사용할 수 있습니다.
필요 라이브러리 설치
대부분의 경우 Tkinter는 파이썬에 기본으로 포함되어 있지만, 설치가 되어 있는지 확인해 볼 필요가 있습니다.
아래 명령어로 확인하고 필요 시 설치하세요.
pip install tk
# 3.계산기 UI 설계
간단한 계산기 프로그램을 만들기 위해 기본적인 사용자 인터페이스(UI)를 설계해야 합니다.
이번 프로젝트 에서는 다음과 같은 기능 들이 포함된 계산기를 만들 것입니다
- 숫자 버튼 (0-9)
- 사칙연산 버튼 (+, -, *, /)
- 결과를 표시할 레이블
- 계산 버튼 (=)
코드
import tkinter as tk
def button_click(value):
current = entry.get()
entry.delete(0, tk.END)
entry.insert(0, current + str(value))
def calculate():
try:
result = eval(entry.get())
entry.delete(0, tk.END)
entry.insert(0, str(result))
except Exception as e:
entry.delete(0, tk.END)
entry.insert(0, "Error")
def clear():
entry.delete(0, tk.END)
root = tk.Tk()
root.title("계산기")
entry = tk.Entry(root, width=16, font=('Arial', 24), borderwidth=2, relief="solid")
entry.grid(row=0, column=0, columnspan=4)
buttons = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2), ('/', 1, 3),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2), ('*', 2, 3),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('-', 3, 3),
('0', 4, 0), ('.', 4, 1), ('+', 4, 2), ('=', 4, 3),
]
for (text, row, col) in buttons:
if text == '=':
button = tk.Button(root, text=text, width=10, height=2, command=calculate)
else:
button = tk.Button(root, text=text, width=10, height=2, command=lambda value=text: button_click(value))
button.grid(row=row, column=col)
clear_button = tk.Button(root, text='C', width=10, height=2, command=clear)
clear_button.grid(row=5, column=0, columnspan=4)
root.mainloop()
코드 설명
- Tkinter 기본 설정: tk.Tk()를 이용해 계산기 창을 생성합니다.
- 입력 창 생성: Entry 위젯을 사용하여 사용자가 수식을 입력할 수 있는 창을 만듭니다.
- 버튼 생성 및 배치: 숫자 버튼과 연산 버튼을 반복문을 통해 생성하고, grid 메서드를 사용하여 창에 배치합니다.
- 기능 정의:
- button_click(value): 버튼을 클릭할 때마다 입력 창에 해당 값을 추가합니다.
- calculate(): eval() 함수를 이용해 수식을 계산하고 결과를 표시합니다. 잘못된 수식이 입력될 경우 Error 메시지를 출력합니다.
- clear(): 입력 창을 초기화합니다.
# 4. 계산기 GUI 실행
코드를 작성한 후에 프로그램을 실행하면 간단한 계산기 창이 나타납니다.
사용자는 숫자와 사칙연산 버튼을 클릭해 수식을 입력하고
= 버튼을 눌러 결과를 확인할 수 있습니다.
만약 수식이 잘못되었다면, "Error" 메시지가 출력됩니다.
# 4. 마무리
이번 포스팅에서는 파이썬의 Tkinter 라이브러리를 이용해 간단한 계산기 프로그램을 만드는 방법을 알아보았습니다.
Tkinter를 활용하면 비교적 간단하게 GUI 애플리케이션을 개발할 수 있으며,
아래와 같은 기능들을 추가로 개발해 계산기를 업그레이드 시켜보세요
- 역수 계산 버튼 추가
- 제곱근 계산 기능 추가
- 더 나은 UI 디자인: 색상과 글꼴을 변경하거나 버튼 크기를 조정하여 사용자 경험을 개선할 수 있습니다.
이 프로젝트가 도움이 되셨다면, 댓글로 여러분의 생각이나 추가 질문을 남겨주세요. 즐거운 코딩 되세요!