Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

tkinter로 마우스 좌표를 따라 선을 그리는 방법은 무엇입니까?

<시간/>

마우스 좌표를 따라 선을 그리려면 각 마우스 클릭의 좌표를 캡처한 다음 두 연속 점 사이에 선을 그리는 함수를 만들어야 합니다. 예를 들어 어떻게 할 수 있는지 봅시다.

단계 -

  • tkinter 라이브러리를 가져오고 tkinter 프레임의 인스턴스를 만듭니다.

  • 기하학을 사용하여 프레임 크기 설정 방법.

  • 사용자 정의 방법 "draw_line" 만들기 각 마우스 클릭의 x 및 y 좌표를 캡처합니다. 그런 다음 create_line()을 사용합니다. 연속된 두 점 사이에 선을 그리는 Canvas의 메서드입니다.

  • draw_line으로 마우스 왼쪽 클릭 바인딩 방법.

  • 마지막으로 메인 루프를 실행합니다. 응용 프로그램 창의.

예시

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

출력

마우스 왼쪽 클릭을 추적하고 연속된 두 점 사이에 선을 그립니다.

tkinter로 마우스 좌표를 따라 선을 그리는 방법은 무엇입니까?