한다 공부
[Python] 실습1 : 누적 합 계산기 (+Tkinter) 본문
평안하신지요?
.
.
드디어 계절학기가 끝났다
계절학기로 Python관련된 수업을 들었는데
일부 실습 코드를 포스팅하고자 한다
계절학기 때문에 정신이 없어서 일주일간 블로그 방치..
하지만 종강한 날 포스팅하는 나, 칭찬해
첫 번째 프로그램은 누적 합 계산기이다.
덧셈, 뺄셈이 가능하고 위에 Label로 계산 결과가 뜬다
그 전에, Tkinter에 대해 알아보자!
팅커 아니고 킨터 아니고 티 케이 인터이다.
tkinter란, 파이썬에서
그래픽 사용자 인터페이스(GUI: graphical user interface)를 개발할 때 필요한 모듈이다.
(모듈이란, 프로그램의 일부를 가지고 있는 독립적인 파일이다.
모듈을 import해서 다양한 기능을 사용할 수 있다)
자바의 Label, Button등을 Tkinter를 통해 구현할 수 있단 말씀!
tkinter 모듈을 이용해서 구현해보자
#tkinter 이용하기 위한 import
from tkinter import *
from tkinter import messagebox
#update_xxx를 호출하면 update함수에 매개변수 xxx 전달
def update_add():
update("add")
def update_subtract():
update("subtract")
def update_reset():
update("reset")
#초기화하고 창 만들기
window = Tk()
#누적 합 저장하는 변수
total = 0
#Label 붙이기 (누적 합 출력)
sum = Label(window);
#격자 배치 관리자 이용해서 Label 위치 정하기
sum.grid(row=0, column=1, columnspan=2)
#현재 합계: 라고 나타내는 Label
label = Label(window, text="현재 합계:")
label.grid(row=0, column=0)
#값 입력받는 창
entry = Entry(window)
entry.grid(row=1, column=0, columnspan=3)
#버튼 생성, 더하기 빼기 초기화, command를 통해 버튼 누르면 해당 함수 호출
add_button = Button(window, text="더하기(+)", command=update_add)
sub_button = Button(window, text="빼기(-)", command=update_subtract)
reset_button = Button(window, text="초기화", command=update_reset)
add_button.grid(row=2, column=0)
sub_button.grid(row=2, column=1)
reset_button.grid(row=2, column=2)
#update함수, 누적 합 계산시 이용
#entry에서 값을 받아서 total이라는 변수에 저장
def update(method):
global total
try:
if method == "add":
total += int(entry.get())
elif method == "subtract":
total -= int(entry.get())
else:
total = 0
#예외의 상황시 경고 메세지 박스를 띄움
except Exception as e:
messagebox.showerror(title='calc',message=e)
#누적 합을 나타내는 label의 text를 바꿔줌
sum.config(text=str(total))
#값 입력하고 entry를 깨끗하게 비워줌
# (새로운 입력값을 받기 위해)
entry.delete(0, END)
window.mainloop()
실행시키고 몇가지 값을 넣어봤다
10 -> 더하기 -> 20 -> 더하기 -> 40 을 입력한 상황
끝!
[참고자료] 두근두근 파이썬 (생능출판, 천인국)
'Dev > Python' 카테고리의 다른 글
[Django] Model, ERD (0) | 2022.08.08 |
---|---|
[Python] 실습5 : 인치 -> 센티미터 변환기 (+Tkinter) (1) | 2021.07.23 |
[Python] 실습4 : 그림판 프로그램 구현 (+Tkinter) (0) | 2021.07.23 |
[Python] 실습3 : 메모장 프로그램 구현 (0) | 2021.07.23 |
[Python] 실습2 : 행맨 게임 (+file open) (0) | 2021.07.23 |