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

วาดเส้นระหว่างการคลิกเมาส์สองครั้งโดยใช้ tkinter


พิจารณากรณีสำหรับการสร้างแอปพลิเคชัน GUI โดยที่เมื่อเราคลิกบนหน้าต่างด้วยปุ่มเมาส์ มันจะเก็บพิกัดและสร้างเส้นแบ่งระหว่างจุดสองจุดที่กำหนด Tkinter จัดเตรียมกิจกรรมที่อนุญาตให้ผู้ใช้ผูกปุ่มหรือปุ่มด้วยฟังก์ชันต่างๆ

ในการลากเส้นระหว่างจุดสองจุด เราสามารถทำตามขั้นตอนทั่วไปเหล่านี้ได้

  • สร้างวิดเจ็ตผ้าใบและแพ็คเพื่อแสดงในหน้าต่าง

  • กำหนดฟังก์ชัน draw_line() ที่ทำงานเป็นเหตุการณ์เมื่อผู้ใช้ทำเหตุการณ์การคลิก

  • สร้างตัวแปรร่วมที่นับจำนวนคลิกในพื้นที่ทำงาน

  • หากการนับกลายเป็นสอง ให้ลากเส้นระหว่างพิกัดที่หนึ่งและที่สอง

  • ผูกปุ่มเมาส์ด้วยฟังก์ชันเรียกกลับเพื่อควบคุมฟังก์ชันได้อย่างเต็มที่

ตัวอย่าง

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame or window
win=Tk()

# Set the size of the window
win.geometry("700x350")

# Define a function to draw the line between two points
def draw_line(event):
   global click_num
   global x1,y1
   if click_num==0:
      x1=event.x
      y1=event.y
      click_num=1
   else:
      x2=event.x
      y2=event.y
   # Draw the line in the given co-ordinates
   canvas.create_line(x1,y1,x2,y2, fill="green", width=10)

# Create a canvas widget
canvas=Canvas(win, width=700, height=350, background="white")
canvas.grid(row=0, column=0)
canvas.bind('<Button-1>', draw_line)
click_num=0

win.mainloop()

ผลลัพธ์

เรียกใช้รหัสด้านบนเพื่อแสดงหน้าต่าง หากเราคลิกที่วิดเจ็ตผ้าใบสองครั้งที่ใดก็ได้ วิดเจ็ตจะวาดเส้นในแคนวาส

วาดเส้นระหว่างการคลิกเมาส์สองครั้งโดยใช้ tkinter