Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเคลื่อนย้ายภาพใน Tkinter Canvas ด้วยปุ่มลูกศร


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

ผลลัพธ์

การรันโค้ดจะแสดงหน้าต่างที่มีภาพสามารถเคลื่อนย้ายข้ามหน้าต่างด้วยปุ่มลูกศร

วิธีเคลื่อนย้ายภาพใน Tkinter Canvas ด้วยปุ่มลูกศร

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