Widget Canvas ของ Tkinter เป็นหนึ่งใน widget ที่หลากหลาย ใช้สร้างรูปทรง ภาพ และทำแอนิเมชันวัตถุ เราสามารถให้แอตทริบิวต์ไดนามิกกับภาพที่กำหนดใน Canvas widget โดยใช้เมธอด move()
กำหนดภาพและพิกัดเป็นพารามิเตอร์ใน move(Image, x, y) เพื่อเคลื่อนย้ายภาพใน Canvas เราประกาศภาพเป็นตัวแปรสากลเพื่อติดตามตำแหน่งภาพใน Canvas
ขั้นตอนทำให้ภาพเคลื่อนที่ใน Canvas:
- กำหนด Canvas widget และเพิ่มภาพ
- กำหนดฟังก์ชัน move() ให้ภาพเคลื่อนไหวใน Canvas
- Bind ปุ่มลูกศรกับฟังก์ชันที่อนุญาตให้ภาพเคลื่อนที่ใน Canvas
ตัวอย่าง
# 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('favicon.ico'))
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)
# Bind the move function
win.bind("", left)
win.bind("", right)
win.bind("", up)
win.bind("", down)
win.mainloop() ผลลัพธ์
การรันโค้ดจะแสดงหน้าต่างที่มีภาพสามารถเคลื่อนย้ายข้ามหน้าต่างด้วยปุ่มลูกศร

คุณสามารถเคลื่อนย้ายวัตถุบน Canvas ด้วยปุ่มลูกศร