Computer >> Máy Tính >  >> Lập trình >> Python

Vẽ đường thẳng giữa hai lần nhấp chuột bằng tkinter

Hãy xem xét một trường hợp để tạo một ứng dụng GUI sao cho khi chúng ta nhấp vào cửa sổ bằng nút chuột, nó sẽ lưu các tọa độ và tạo ra một đường thẳng giữa hai điểm đã cho. Tkinter cung cấp các sự kiện cho phép người dùng liên kết các phím hoặc nút với các chức năng.

Để vẽ một đường thẳng giữa hai điểm, chúng ta có thể làm theo các bước chung sau đây,

  • Tạo một tiện ích canvas và đóng gói nó để hiển thị trong cửa sổ.

  • Xác định một hàm draw_line () hoạt động như một sự kiện khi người dùng thực hiện sự kiện nhấp chuột.

  • Tạo một biến toàn cục tính số lần nhấp trong canvas.

  • Nếu số đếm trở thành hai, thì hãy vẽ một đường thẳng giữa tọa độ thứ nhất và thứ hai.

  • Liên kết nút Chuột với chức năng gọi lại để có toàn quyền kiểm soát chức năng này.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên để hiển thị một cửa sổ. Nếu chúng ta nhấp vào tiện ích canvas hai lần ở bất kỳ đâu, nó sẽ vẽ một đường trong canvas.

Vẽ đường thẳng giữa hai lần nhấp chuột bằng tkinter