使用 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()

輸出

執行以上程式碼以顯示一個視窗。如果我們點選畫布小部件兩次,無論點選哪裡,它都會在畫布中繪製一條線。

更新於: 2021 年 10 月 11 日

1K+ 瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始
廣告