Tkinter Canvas 위젯은 Tkinter 라이브러리의 다양한 위젯 중 하나입니다. 다양한 모양, 이미지 및 애니메이션 개체를 만드는 데 사용됩니다. move() 를 사용하여 Canvas 위젯에서 특정 방향으로 이미지를 이동할 수 있습니다. 방법.
캔버스에서 객체를 이동시키기 위해 move(Image, x,y) 메소드에서 이미지와 좌표를 매개변수로 정의합니다. 위치를 이동하거나 변경하기 위해 이미지를 전역으로 선언합니다.
다음 단계에 따라 이미지를 캔버스 내에서 이동할 수 있습니다.
-
먼저 Canvas 위젯을 정의하고 여기에 이미지를 추가합니다.
-
캔버스 내에서 이미지를 동적으로 만들 수 있도록 move() 함수를 정의합니다.
-
캔버스 내에서 이미지를 이동할 수 있는 기능으로 마우스 버튼을 묶습니다.
예시
# Import the required libraries
from tkinter import *
from PIL import Image, ImageTk
# Create an instance of tkinter frame
win = Tk()
# Set the size of the tkinter window
win.geometry("700x350")
# Define a Canvas widget
canvas = Canvas(win, width=600, height=400, bg="white")
canvas.pack(pady=20)
# Add Images to Canvas widget
image = ImageTk.PhotoImage(Image.open('logo.png'))
img = canvas.create_image(250, 120, anchor=NW, image=image)
def left(e):
x = -20
y = 0
canvas.move(img, x, y)
def right(e):
x = 20
y = 0
canvas.move(img, x, y)
def up(e):
x = 0
y = -20
canvas.move(img, x, y)
def down(e):
x = 0
y = 20
canvas.move(img, x, y)
# Define a function to allow the image to move within the canvas
def move(e):
global image
image = ImageTk.PhotoImage(Image.open('logo.png'))
img = canvas.create_image(e.x, e.y, image=image)
# Bind the move function
canvas.bind("<B1-Motion>", move)
win.mainloop() 출력
위의 코드를 실행하면 마우스 버튼을 사용하여 창을 가로질러 이동할 수 있는 이미지가 포함된 창이 표시됩니다.

이제 캔버스를 클릭하고 마우스로 개체를 드래그합니다.