Appia의 IT세상

파이썬[Python] 033 tkinter 활용 계산기 만들기 1부 - GUI 구성 본문

Python/Python Tk (GUI)

파이썬[Python] 033 tkinter 활용 계산기 만들기 1부 - GUI 구성

Appia 2020. 1. 7. 07:28
반응형

이번 포스팅은 기존에 포스팅 했던 tkinter 기반으로 계산기를 만들고자 합니다. 대학교 때에, 다른 프로그래밍 언어로 계산기를 만들었던 기억이 많이 남습니다. 따라서, 이번에는 파이썬[Python]  tkinter 모듈을 이용한 계산기를 제작해보도록 하겠습니다.

 

<밑그림 - Layout>

먼저 제가 생각한 계산기의 밑그림은 다음과 같습니다.

일단, 숫자들과 연산들은 버튼으로 만들 것입니다. 그리고, 숫자 연산을 표시하는 부분들에 대해서는 Entry 이용하였습니다.

 

그리고 칸과 열을 맞추기 위해서 grid()형태로 이용할 예정입니다. 그럼 일단 코딩을 시작해보도록 하겠습니다.

 

from tkinter import *

top = Tk()
def ClearNum():
    pass

# 1번째 열
S_Var1 = StringVar()
E1 = Entry(top, bd = 4,textvariable = S_Var1)
E1.grid(row =0, column = 0, columnspan = 4)

# 2번째 열
numCLS = Button( text = "C", command = ClearNum, height = 2, width = 5)
numCLS.grid(row =1, column = 0)
numDiv = Button( text = "/", command = ClearNum, height = 2, width = 5)
numDiv.grid(row =1, column = 1)
numMux = Button( text = "*", command = ClearNum, height = 2, width = 5)
numMux.grid(row =1, column = 2)
numSub = Button( text = "-", command = ClearNum, height = 2, width = 5)
numSub.grid(row =1, column = 3)

# 3번째 열
num7 = Button( text = "7", command = ClearNum, height = 2, width = 5)
num7.grid(row =2, column = 0)
num8 = Button( text = "8", command = ClearNum, height = 2, width = 5)
num8.grid(row =2, column = 1)
num9 = Button( text = "9", command = ClearNum, height = 2, width = 5)
num9.grid(row =2, column = 2)
numSum = Button( text = "+", command = ClearNum, height = 2, width = 5)
numSum.grid(row =2, column = 3)

# 4번째 열
num4 = Button( text = "4", command = ClearNum, height = 2, width = 5)
num4.grid(row =3, column = 0)
num5 = Button( text = "5", command = ClearNum, height = 2, width = 5)
num5.grid(row =3, column = 1)
num6 = Button( text = "6", command = ClearNum, height = 2, width = 5)
num6.grid(row =3, column = 2)
numRes = Button( text = "=", command = ClearNum, height = 2, width = 5)
numRes.grid(row =3, column = 3)

# 5번째 열
num1 = Button( text = "1", command = ClearNum, height = 2, width = 5)
num1.grid(row =4, column = 0)
num2 = Button( text = "2", command = ClearNum, height = 2, width = 5)
num2.grid(row =4, column = 1)
num3 = Button( text = "3", command = ClearNum, height = 2, width = 5)
num3.grid(row =4, column = 2)
num0 = Button( text = "0", command = ClearNum, height = 2, width = 5)
num0.grid(row =4, column = 3)

top.mainloop()

위의 코드를 보면, 각 위젯을  grid()메쏘드를 이용하여 나열했습니다. 먼저, 첫번째 열에는 Entry 형태로 입력 값등을 표현할 수 있게 했습니다. 그리고 2번째 열부터는 각 수와 연산들을 버튼 형태로 나열했습니다. 이러한 부분들을 실행하면 다음과 같은 결과가 나옵니다. 

 

 

오늘은 계산기의 tkinter모듈을 이용하여, 계산기의 형태를 그려보았습니다. 다음 포스팅에서는 위를 바탕으로 숫자에 대한 이벤트 처리등을 진행해 보도록 하겠습니다. 혹 궁금하신 것이 있으시면, 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments