티케이인터 버튼 따라하기 (Coding Tkinter Button)
지난 시간에 이어 파이썬에 있는 티케이인터를 살펴보겠습니다.
전에 만든 버전에 다음, 이전 버튼을 추가했습니다.
버튼을 누르면 이미지가 이전 혹은 다음으로 넘어갈 수 있도록 만들었습니다.
코딩을 위해 사진을 1장 더 준비했습니다.
파일 이름은 Tkinter2.py로 만들어봤습니다.
from tkinter import *
#tk 인터를 불러옵니다
num=0
# num=0으로 초기화했습니다.
def forward_image():
# 이미지를 이전으로 갈 때 forward_image()로 정의했습니다.
global num
#코드에서 global은 전역 변수로 사용됩니다.
num = num - 1
#이전 이미지로 이전으로 갈 때 num = num - 1로 만들었습니다.
wall_label.configure(image = wall[num])
#label.configure() 함수를 이용해 label의 이미지를 변경합니다.
print("")
def next_image():
# 이미지를 다음으로 넘길 때 next_image()로 정의했습니다.
global num
num= num + 1
# 이미지를 다음으로 넘기는 상황은 이미지를 이전으로 갈 때와 역상황입니다.
wall_label.configure(image = wall[num])
print("")
root = Tk ()
# tkinter를 불러오는 키가 Tk()입니다. Tk()는 root로 정의했습니다.
root.title("Holeman is back.")
# Tk 창의 타이틀입니다.
root.geometry('550x450')
#Tk창 크기입니다. 이미지와 버튼이 들어가야 하기 때문에 세로 길이를 50 늘린 450으로 잡았습니다.
wall = [PhotoImage(file= "DEC2020.gif"),
PhotoImage(file= "2020.gif")]
#이미지입니다.
#이미지는 [PhotoImage(file= "0.gif"), PhotoImage(file= "1.gif")] 형식으로 나오게 됩니다.
wall_label = Label(root, image= wall[0] )
# 포토이미지() 형태를 wall로 정의했습니다. wall은 변수를 품습니다. wall[0]에는 0.gif, wall[1]에는 1.gif가 담기게 됩니다.
wall_label.place(x = 5, y = 5)
#변수는 x=5, y=5 좌표에 놓이기 됩니다. x=0, y=0 지점은 좌측 상단 Tk창 타이틀 표시줄 바로 아래입니다.
wall_label.pack()
# pack이 호출되어야만 버튼이 화면에 나타납니다.
button = Button(root, text= "이전", command=forward_image)
# 앞에서 정의한 forward_image는 "이전" 버튼으로 생성됩니다.
button.pack()
#pack이 호출되어야만 버튼이 화면에 나타납니다.
button = Button(root, text= "다음", command=next_image)
# 앞에서 정의한 next_image는 "다음" 버튼으로 생성됩니다.
button.pack()
#pack이 호출되어야만 버튼이 화면에 나타납니다.
root.mainloop()
# 빈 윈도 화면을 표시하고 메시지 루프로, 이벤트를 받습니다.
C:\Users\ATIV\Downloads\myworks>python .\Tkinter2.py
from tkinter import *
num=0
def forward_image():
global num
num = num - 1
wall_label.configure(image = wall[num])
print("")
def next_image():
global num
num= num + 1
wall_label.configure(image = wall[num])
print("")
root = Tk ()
root.title("Holeman is back.")
root.geometry('550x450') #Tk창 크기
wall = [PhotoImage(file= "DEC2020.gif"),
PhotoImage(file= "2020.gif")]
wall_label = Label(root, image= wall[0] )
wall_label.place(x = 5, y = 5)
wall_label.pack()
button = Button(root, text= "이전", command=forward_image)
button.pack()
button = Button(root, text= "다음", command=next_image)
button.pack()
root.mainloop()
'코딩 따라하기' 카테고리의 다른 글
파이썬에 입문하는 코린이들이 따라하면 좋을 유튜브 채널 4 (27) | 2020.12.13 |
---|---|
티케이인터 따라하기 (Coding Tkinter) (18) | 2020.12.10 |
데이트타임 따라하기 (Coding the Datetime) (14) | 2020.12.09 |
평균 계산하기 따라하기 (Calculate the average) (14) | 2020.12.08 |
람다식 따라하기 (Coding Lambda Function) (16) | 2020.12.07 |
댓글