반응형
실행하고자 하는 것
Tkinter를 사용해서
화면 아무 곳이나 마우스 클릭을 했을 때
다른 이미지로 바뀌는 걸 하고자 한다. (마우스 이벤트)
예를 들어서 맨 처음 프로그램을 실행시켰을 때
위의 화면이 뜬다고 해보자.
나는 이때 화면에 마우스를 대고 클릭하면
이렇게 다른 이미지로 바뀌는 걸 하고자 한다.
코드
import tkinter as tk
from PIL import ImageTk,Image
root = tk.Tk()
root.title("Phantom_Thief_JJ")
root.geometry('600x600+530+80')
#보여줄 이미지
Images = [ImageTk.PhotoImage(Image.open('./01.png')),
ImageTk.PhotoImage(file="./02.png")]
# 첫 번째 이미지를 가장 먼저 보여줘라
label = tk.Label(root, image=Images[0])
label.pack()
# 마우스를 클릭하면 두 번째 이미지를 보여줘라
def showNextImage(event):
img2 = ImageTk.PhotoImage(Image.open("./02.png"))
label.configure(image= img2)
label.image = img2
#<Button>은 마우스 클릭을 하면 특정 행동을 실행하라는 뜻
# 여기선 마우스 클릭하면 showNextImage 함수를 실행하라는 뜻이된다.
root.bind("<Button>", showNextImage)
root.mainloop()
코드 전문은 위와같다.
참고 사이트
https://stackoverflow.com/questions/3482081/how-to-update-the-image-of-a-tkinter-label-widget
반응형
'BOX-IT > Python' 카테고리의 다른 글
[Python/Tkinter] 버튼 클릭했을 때 버튼 사라지게 하는 방법 (0) | 2022.11.18 |
---|---|
[Python/Tkinter] Tkinter에서 버튼 테두리 없애는 방법 (0) | 2022.11.08 |
[Python] 파이썬 실행 파일 만드는 방법 (0) | 2022.10.23 |
[Python] 파이썬으로 이미지를 아스키아트로 만드는 방법 (0) | 2022.09.25 |
[Python] Non-UTF-8 code starting with '\xeb' in file 해결 (0) | 2022.08.30 |