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

จะย้ายรูปภาพในผ้าใบ Tkinter ด้วยปุ่มลูกศรได้อย่างไร


วิดเจ็ต Tkinter Canvas เป็นหนึ่งในวิดเจ็ตอเนกประสงค์ในไลบรารี Tkinter ใช้เพื่อสร้างรูปทรง รูปภาพ และวัตถุเคลื่อนไหวต่างๆ เราสามารถจัดเตรียมแอตทริบิวต์ไดนามิกให้กับรูปภาพที่กำหนดไว้ในวิดเจ็ต Canvas โดยใช้ move() วิธีการ

กำหนดรูปภาพและพิกัดเป็นพารามิเตอร์ใน move(Image, x,y) วิธีการย้ายรูปภาพใน Canvas เราประกาศรูปภาพทั่วโลกเพื่อติดตามตำแหน่งรูปภาพใน Canvas

เราสามารถทำตามขั้นตอนเหล่านี้เพื่อทำให้รูปภาพของเราสามารถเคลื่อนที่ได้ภายในแคนวาส

  • ขั้นแรก กำหนดวิดเจ็ต Canvas และเพิ่มรูปภาพเข้าไป

  • กำหนด ย้าย() ฟังก์ชันเพื่อให้รูปภาพเป็นไดนามิกภายใน Canvas

  • ผูกแป้นลูกศรด้วยฟังก์ชันที่ช่วยให้สามารถย้ายรูปภาพภายใน 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>", left)
win.bind("<Right>", right)
win.bind("<Up>", up)
win.bind("<Down>", down)

win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีรูปภาพที่สามารถย้ายข้ามหน้าต่างได้โดยใช้ปุ่มลูกศร

จะย้ายรูปภาพในผ้าใบ Tkinter ด้วยปุ่มลูกศรได้อย่างไร

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