0
我正在玩Tkinter和Python,我想點擊畫布上的兩個位置,然後在兩點之間劃一條線。等待在畫布上點擊第二次鼠標
使用.bind()方法,我可以輕鬆地調用一個函數,該函數需要光標的位置並設置第一個點,但我不知道如何使該函數等待第二次鼠標單擊。當然有解決方法,但我想知道是否可以讓一個函數無限期地等待,直到第二次點擊。
我正在玩Tkinter和Python,我想點擊畫布上的兩個位置,然後在兩點之間劃一條線。等待在畫布上點擊第二次鼠標
使用.bind()方法,我可以輕鬆地調用一個函數,該函數需要光標的位置並設置第一個點,但我不知道如何使該函數等待第二次鼠標單擊。當然有解決方法,但我想知道是否可以讓一個函數無限期地等待,直到第二次點擊。
有沒有必要等。在第一次點擊設置一個標誌,在第二次點擊檢查國旗
class Example(...):
def __init__(...):
self.first_coord = None
...
canvas.bind("<1>", self.on_click)
def on_click(self, event):
if self.first_coord is None:
self.first_coord = (event.x, event.y)
else:
second_coord = (event.x, event.y)
<draw the line here>
self.first_coord = None
@布賴恩:應該是'else:',而不是'elee:',正確嗎?爲我清楚,但爲了更好的閱讀/完全正確的代碼,這將需要一個更改。 – R4PH43L