코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
root = Tk()
root.title("계산기")
root.geometry("200x200")
#인터페이스 (버튼, 창) 추가할 부분
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
root = Tk()
root.title("계산기")
root.geometry("200x200")
# 숫자 및 결과 표시창
number_entry = ttk.Entry(root, width=20)
number_entry.grid(row=0, columnspan=1)
#숫자버튼
button1 = ttk.Button(root, text="1")
button1.grid(row=1, column=0)
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
root = Tk()
root.title("계산기")
root.geometry("200x200")
# 숫자 및 결과 표시창
number_entry = ttk.Entry(root, width=20)
number_entry.grid(row=0, columnspan=1)
#숫자버튼 , command=lambda: 뒤에 명령 작성
button1 = ttk.Button(root, text="1", command=lambda:print("button 1"))
button1.grid(row=1, column=0)
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
# 함수 추가
def button_pressed(value) :
print(value, "pressed")
root = Tk()
root.title("계산기")
root.geometry("200x200")
#인터페이스 (버튼, 창) 추가할 부분
# 숫자 및 결과 표시창
number_entry = ttk.Entry(root, width=20)
number_entry.grid(row=0, columnspan=1)
#숫자버튼 , command=lambda: 뒤에 함수 연결 전달 값은 버튼의 숫자 1
button1 = ttk.Button(root, text="1", command=lambda:button_pressed('1'))
button1.grid(row=1, column=0)
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
# 함수 추가
def button_pressed(value) :
#텍스트 창으로 숫자 전송, 'end'는 오른쪽 끝에 추가한다는 뜻
number_entry.insert('end',value)
print(value, "pressed")
root = Tk()
root.title("계산기")
root.geometry("400x400")
# 인터페이스 (버튼, 창) 추가할 부분
# 텍스트창의 값 저장할 변수
entry_value = StringVar(root, value='')
# 숫자 및 결과 표시창
#textvariable 속성으로 변수 설정
number_entry = ttk.Entry(root, textvariable=entry_value, width=10)
number_entry.grid(row=0, columnspan=1)
#숫자버튼 , command=lambda: 뒤에 함수 연결 전달 값은 버튼의 숫자 1
button1 = ttk.Button(root, text="1", command=lambda:button_pressed('1'))
button1.grid(row=1, column=0)
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
# 함수 추가
def button_pressed(value) :
#텍스트 창으로 숫자 전송, 'end'는 오른쪽 끝에 추가한다는 뜻
number_entry.insert('end',value)
print(value, "pressed")
root = Tk()
root.title("계산기")
#버튼 크기에 맞게 수정
root.geometry("250x200")
# 인터페이스 (버튼, 창) 추가할 부분
# 텍스트창의 값 저장할 변수
entry_value = StringVar(root, value='')
# 숫자 및 결과 표시창
#textvariable 속성으로 변수 설정
number_entry = ttk.Entry(root, textvariable=entry_value, width=20)
#columspan 은 여러칸에 걸쳐서 표시
number_entry.grid(row=0, columnspan=3)
#숫자버튼 , command=lambda: 뒤에 함수 연결
button7 = ttk.Button(root, text="7", command=lambda:button_pressed('7'))
button7.grid(row=1, column=0)
button8 = ttk.Button(root, text="8", command=lambda:button_pressed('8'))
button8.grid(row=1, column=1)
button9 = ttk.Button(root, text="9", command=lambda:button_pressed('9'))
button9.grid(row=1, column=2)
button4 = ttk.Button(root, text="4", command=lambda:button_pressed('4'))
button4.grid(row=2, column=0)
button5 = ttk.Button(root, text="5", command=lambda:button_pressed('5'))
button5.grid(row=2, column=1)
button6 = ttk.Button(root, text="6", command=lambda:button_pressed('6'))
button6.grid(row=2, column=2)
button1 = ttk.Button(root, text="1", command=lambda:button_pressed('1'))
button1.grid(row=3, column=0)
button2 = ttk.Button(root, text="2", command=lambda:button_pressed('2'))
button2.grid(row=3, column=1)
button3 = ttk.Button(root, text="3", command=lambda:button_pressed('3'))
button3.grid(row=3, column=2)
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 함수 추가할 부분
# 함수 추가
def button_pressed(value) :
#텍스트 창으로 숫자 전송, 'end'는 오른쪽 끝에 추가한다는 뜻
number_entry.insert('end',value)
print(value, "pressed")
def math_button_pressed(value) :
print(value, "pressed")
def equal_button_pressed(value) :
print(value, "pressed")
root = Tk()
root.title("계산기")
#버튼 크기에 맞게 수정
root.geometry("350x200")
# 인터페이스 (버튼, 창) 추가할 부분
# 텍스트창의 값 저장할 변수
entry_value = StringVar(root, value='')
# 숫자 및 결과 표시창
#textvariable 속성으로 변수 설정
number_entry = ttk.Entry(root, textvariable=entry_value, width=20)
#columspan 은 여러칸에 걸쳐서 표시
number_entry.grid(row=0, columnspan=3)
#숫자버튼 , command=lambda: 뒤에 함수 연결
button7 = ttk.Button(root, text="7", command=lambda:button_pressed('7'))
button7.grid(row=1, column=0)
button8 = ttk.Button(root, text="8", command=lambda:button_pressed('8'))
button8.grid(row=1, column=1)
button9 = ttk.Button(root, text="9", command=lambda:button_pressed('9'))
button9.grid(row=1, column=2)
#나누기 버튼 -> math_button_pressed()로 연결
button_div = ttk.Button(root, text='/', command=lambda:math_button_pressed('/'))
button_div.grid(row=1, column=3)
button4 = ttk.Button(root, text="4", command=lambda:button_pressed('4'))
button4.grid(row=2, column=0)
button5 = ttk.Button(root, text="5", command=lambda:button_pressed('5'))
button5.grid(row=2, column=1)
button6 = ttk.Button(root, text="6", command=lambda:button_pressed('6'))
button6.grid(row=2, column=2)
#곱하기 버튼 -> math_button_pressed()로 연결
button_mult = ttk.Button(root, text='*', command=lambda:math_button_pressed('*'))
button_mult.grid(row=2, column=3)
button1 = ttk.Button(root, text="1", command=lambda:button_pressed('1'))
button1.grid(row=3, column=0)
button2 = ttk.Button(root, text="2", command=lambda:button_pressed('2'))
button2.grid(row=3, column=1)
button3 = ttk.Button(root, text="3", command=lambda:button_pressed('3'))
button3.grid(row=3, column=2)
#더하기 버튼 -> math_button_pressed()로 연결
button_add = ttk.Button(root, text='+', command=lambda:math_button_pressed('+'))
button_add.grid(row=3, column=3)
# 마지막줄 AC,0,=,- 버튼 추가
# -버튼 -> math_button_pressed()로 연결
# AC, 0 버튼 -> button_pressed()로 연결
# = 버튼 -> equal_button_pressed()로 연결
button_ac = ttk.Button(root, text="AC", command=lambda:button_pressed('AC'))
button_ac.grid(row=4, column=0)
button0 = ttk.Button(root, text="0", command=lambda:button_pressed('0'))
button0.grid(row=4, column=1)
button_equal = ttk.Button(root, text="=", command=lambda:equal_button_pressed('='))
button_equal.grid(row=4, column=2)
button_sub = ttk.Button(root, text='-', command=lambda:math_button_pressed('-'))
button_sub.grid(row=4, column=3)
root.mainloop()
실행결과
코드
from tkinter import *
from tkinter import ttk
# 연산자 저장 변수
operation = ''
# 이전값 저장 변수
temp_number = 0
# 함수 추가할 부분
# 숫자 함수
def button_pressed(value) :
#텍스트 창으로 숫자 전송, 'end'는 오른쪽 끝에 추가한다는 뜻
# AC 입력되었을 경우
if value == 'AC' :
number_entry.delete(0,'end')
print("AC pressed")
# 0~9 입력되었을 경우
else :
number_entry.insert('end',value)
print(value, "pressed")
#사칙연산 함수
def math_button_pressed(value) :
# 함수 바깥의 글로벌 변수 사용
global operation
global temp_number
#기존에 입력한 숫자가 있을때만 연산버튼 인식함
if not number_entry.get() == '' :
operation = value
# 입력된 숫자를 임시변수로 옮기기
temp_number = int(number_entry.get())
# 입력칸을 비우고, 다음 숫자를 입력받을 준비
number_entry.delete(0,'end')
print(temp_number, operation)
# 결과버튼 함수
def equal_button_pressed(value) :
global operation
global temp_number
#연산자나 숫자가 입력되지 않으면, 실행하지 않음
if not (operation == '' and number_entry.get()==''):
number = int(number_entry.get())
if operation == '/' :
solution = temp_number / number
elif operation == '*' :
solution = temp_number * number
elif operation == '+' :
solution = temp_number + number
else :
solution = temp_number - number
#계산후 숫자표시칸을 비우고 계산결과 표시
number_entry.delete(0, 'end')
number_entry.insert(0,solution)
print(temp_number, operation,number,"=",solution)
operation = ''
temp_number = 0
root = Tk()
root.title("계산기")
#버튼 크기에 맞게 수정
root.geometry("350x200")
# 인터페이스 (버튼, 창) 추가할 부분
# 텍스트창의 값 저장할 변수
entry_value = StringVar(root, value='')
# 숫자 및 결과 표시창
#textvariable 속성으로 변수 설정
number_entry = ttk.Entry(root, textvariable=entry_value, width=20)
#columspan 은 여러칸에 걸쳐서 표시
number_entry.grid(row=0, columnspan=3)
#숫자버튼 , command=lambda: 뒤에 함수 연결
button7 = ttk.Button(root, text="7", command=lambda:button_pressed('7'))
button7.grid(row=1, column=0)
button8 = ttk.Button(root, text="8", command=lambda:button_pressed('8'))
button8.grid(row=1, column=1)
button9 = ttk.Button(root, text="9", command=lambda:button_pressed('9'))
button9.grid(row=1, column=2)
#나누기 버튼 -> math_button_pressed()로 연결
button_div = ttk.Button(root, text='/', command=lambda:math_button_pressed('/'))
button_div.grid(row=1, column=3)
button4 = ttk.Button(root, text="4", command=lambda:button_pressed('4'))
button4.grid(row=2, column=0)
button5 = ttk.Button(root, text="5", command=lambda:button_pressed('5'))
button5.grid(row=2, column=1)
button6 = ttk.Button(root, text="6", command=lambda:button_pressed('6'))
button6.grid(row=2, column=2)
#곱하기 버튼 -> math_button_pressed()로 연결
button_mult = ttk.Button(root, text='*', command=lambda:math_button_pressed('*'))
button_mult.grid(row=2, column=3)
button1 = ttk.Button(root, text="1", command=lambda:button_pressed('1'))
button1.grid(row=3, column=0)
button2 = ttk.Button(root, text="2", command=lambda:button_pressed('2'))
button2.grid(row=3, column=1)
button3 = ttk.Button(root, text="3", command=lambda:button_pressed('3'))
button3.grid(row=3, column=2)
#더하기 버튼 -> math_button_pressed()로 연결
button_add = ttk.Button(root, text='+', command=lambda:math_button_pressed('+'))
button_add.grid(row=3, column=3)
# 마지막줄 AC,0,=,- 버튼 추가
# -버튼 -> math_button_pressed()로 연결
# AC, 0 버튼 -> button_pressed()로 연결
# = 버튼 -> equal_button_pressed()로 연결
button_ac = ttk.Button(root, text="AC", command=lambda:button_pressed('AC'))
button_ac.grid(row=4, column=0)
button0 = ttk.Button(root, text="0", command=lambda:button_pressed('0'))
button0.grid(row=4, column=1)
button_equal = ttk.Button(root, text="=", command=lambda:equal_button_pressed('='))
button_equal.grid(row=4, column=2)
button_sub = ttk.Button(root, text='-', command=lambda:math_button_pressed('-'))
button_sub.grid(row=4, column=3)
root.mainloop()
실행결과