簡體   English   中英

Python - TKinter - 使用鼠標在 canvas 上移動形狀

[英]Python - TKinter - Moving shape on canvas with a mouse

我需要找到一種方法來編寫以下代碼

1.有一個幾何 object 包含一個點數組,然后在 canvas 小部件上繪制(得到這個覆蓋)

2.當您左鍵單擊 canvas 時,它會檢查您是否在現有點的某個邊距內單擊,如果是這樣,則選擇了數組中的一個點(在搜索該點並選擇它方面涵蓋了這一點)

3.一旦選擇,點將跟隨鼠標,直到釋放鼠標按鈕。

單獨使用 Motion 事件似乎不起作用,因為在按下按鈕時似乎一遍又一遍地調用 function。 所以我需要在按下按鈕時觸發搜索 function 當按住按鈕時移動 function 。

我會很感激指點。

感謝 Dan Getz,我做了以下事情: - 將點選擇綁定到 select 點並將索引存儲在 self.selectedPoint - 綁定移動 function 以使用 self.selectedPoint 來指示數組中的選定點,然后傳遞事件 x,y坐標到數組作為選定點的新坐標 - 將 clearSelected function 綁定到將 self.selectedPoint 設置為 -1 從而清除選擇

我仍然遇到的問題是,當移動點時,我會在按住鼠標的同時更新屏幕,這會產生相當多的閃爍。 我想知道是否有什么我可以做的來防止這種情況發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM