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

Làm thế nào để vẽ một đường theo tọa độ chuột với tkinter?

Để vẽ một đường thẳng theo tọa độ chuột, chúng ta cần tạo một hàm để nắm bắt tọa độ của mỗi lần nhấp chuột và sau đó vẽ một đường thẳng giữa hai điểm liên tiếp. Hãy lấy một ví dụ và xem nó có thể được thực hiện như thế nào.

Các bước -

  • Nhập thư viện tkinter và tạo một phiên bản của khung tkinter.

  • Đặt kích thước của khung bằng hình học phương pháp.

  • Tạo phương pháp do người dùng xác định "draw_line" để nắm bắt tọa độ x và y của mỗi lần nhấp chuột. Sau đó, sử dụng create_line () phương pháp Canvas để vẽ một đường thẳng giữa hai điểm liên tiếp.

  • Liên kết nhấp chuột trái của chuột với draw_line phương pháp.

  • Cuối cùng, chạy mainloop của cửa sổ ứng dụng.

Ví dụ

# Import the library
import tkinter as tk

# Create an instance of tkinter
win = tk.Tk()

# Window size
win.geometry("700x300")

# Method to draw line between two consecutive points
def draw_line(e):
   x, y = e.x, e.y
   if canvas.old_coords:
      x1, y1 = canvas.old_coords
      canvas.create_line(x, y, x1, y1, width=5)
   canvas.old_coords = x, y

canvas = tk.Canvas(win, width=700, height=300)
canvas.pack()
canvas.old_coords = None

# Bind the left button the mouse.
win.bind('<ButtonPress-1>', draw_line)

win.mainloop()

Đầu ra

Nó sẽ theo dõi các lần nhấp chuột trái của con chuột và vẽ một đường thẳng giữa hai điểm liên tiếp.

Làm thế nào để vẽ một đường theo tọa độ chuột với tkinter?