본문 바로가기
코딩 따라하기

티케이인터 버튼 따라하기 (Coding Tkinter Button)

by 전자남성 2020. 12. 11.

티케이인터 버튼 따라하기 (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

 

사진 = LG U+

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()

댓글