일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pyqt5
- 안드로이드
- Outlook
- 깃
- 오피스
- 윈도우11
- 윈도우10
- Excel
- 파이썬
- html
- pythongui
- matlab
- 엑셀
- office
- 아웃룩
- 파이썬3
- VBA
- python3
- 파이썬GUI
- Android
- python
- Windows11
- 비주얼베이직
- windows
- win32com
- 문자열
- Windows10
- 파워포인트
- pandas
- git
Archives
Appia의 IT세상
파이썬[Python] 033 tkinter 활용 계산기 만들기 1부 - GUI 구성 본문
반응형
이번 포스팅은 기존에 포스팅 했던 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모듈을 이용하여, 계산기의 형태를 그려보았습니다. 다음 포스팅에서는 위를 바탕으로 숫자에 대한 이벤트 처리등을 진행해 보도록 하겠습니다. 혹 궁금하신 것이 있으시면, 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.
반응형
'Python > Python Tk (GUI)' 카테고리의 다른 글
파이썬[Python] tkinter 활용 - 파일 불러와서 텍스트 에디터 출력하기(filedialog,text) (26) | 2020.05.25 |
---|---|
파이썬[Python] 034 tkinter 활용 계산기 만들기 2부 - 이벤트 구성 (1) | 2020.01.07 |
파이썬[Python] 030 tkinter 활용 Filedialog(Open, Save, Directory) (2) | 2020.01.04 |
파이썬[Python] 029 tkinter 기본강의 009 tkMessagebox 및 tkinter에 대한 생각 (0) | 2020.01.04 |
파이썬[Python] 028 tkinter 기본강의 008 Text, Spinbox (0) | 2020.01.03 |
Comments