728x90
반응형

from tkinter import *
# 음식명에 따른 이미지 파일명과 칼로리 정보
data = {'갈비':['food01.png',200], '감자':['food02.png',110]}
root = Tk()
root.geometry("280x420")
root.title("칼로리 정보")
root.resizable(True, True)
def ok_click(): # ok 버튼 클릭시 함수
# print(ent1.get())
in_str = ent1.get() # 입력 문자열 가죠옴
if in_str in data.keys(): # 입력 문자열이 data 딕셔너리의 키 중에 있으면 동작
img_file = data[ent1.get()][0] # data 딕셔너리에서 키로 찾은 정보는 리스트. 리스트의 0번은 이미지파일명
img_text = data[ent1.get()][1] # 리스트의 1번은 칼로리 정보
# print(img_file, img_text)
canvas.delete('all') # 화면 clear
img = PhotoImage(file=img_file) # 이미지 불러옴
canvas.create_image(150, 150, image=img) # canvas에 이미지 로드
canvas.create_text(20, 50, text=img_text, fill="red", font=('Helvetica 15 bold')) # 컬로리 정보 canvas에 씀
canvas.pack()
root.mainloop()
lbl1 = Label(root, text="갈비")
lbl1.pack()
ent1 = Entry(root, width=35)
ent1.pack()
canvas = Canvas(root, width=300, height=300, background='gray')
canvas.pack(anchor='e')
btnO = Button(root, text='Ok', width=15, command=ok_click) # 버큰 클릭시 함수 사용하도록 수정
btnO.pack(side='left', padx=10)
btnC = Button(root, text='Cancel', width=15)
btnC.pack(side='right', padx=10)
root.mainloop()


728x90
반응형
'프로그램' 카테고리의 다른 글
| [파이썬] 문제 : 연료 500에서 +,- 한 계산 (0) | 2023.04.23 |
|---|---|
| [파이썬] 문제 : 터틀(turle) 오륜기 그리기 (0) | 2023.04.22 |
| [파이썬] 문제 : MT인원수와 필요한 생수 수로 팩,병 그리고 가격 계산하기 (0) | 2023.04.21 |
| [파이썬] 문제 : 터틀(turtle) 밑변,높이 입력 받아 빗변 계산하고 삼각형 그리기 (0) | 2023.04.21 |
| [파이썬] 문제 : 터틀(turtle) 하나의 가지 그리는 함수로 눈송이 모양 그리기 (0) | 2023.04.19 |
댓글