วิดเจ็ต 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()
ผลลัพธ์
การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีรูปภาพที่สามารถย้ายข้ามหน้าต่างได้โดยใช้ปุ่มลูกศร
คุณสามารถย้ายวัตถุบนผืนผ้าใบไปรอบๆ ได้ด้วยปุ่มลูกศร