2017-05-06 75 views
0

我正在用python編寫一個簡單的nathts - and - crosses遊戲,使用Tkinter,並且只在你將鼠標懸停在它們上方時纔想讓Os顯示。要做到這一點,我知道我需要添加一個事件綁定,但不知道如何,因爲當我創建一個圓形(弧)我沒有得到一個對象返回,而是一個id號碼。我怎樣才能使用這個ID號來創建一個事件綁定?Tkinter綁定到圓弧

回答

0

而不是使用ID號來創建一個事件綁定,我會建議使用標籤系統來解決這個問題。創建橢圓形對象時,例如canvas.create_oval(100, 100, 200, 200),在括號內添加,tag="tag_name"以將標記應用於您創建的對象。然後可以明確地綁定到此標記,例如使用畫布的tag_bind函數。

您可以創建這樣的事情,創建具有標籤「橢圓形」橢圓後:

canvas.tag_bind("oval", "<ButtonPress-1>", pressed_oval) 

這將然後打電話給你的函數調用pressed_oval()只有當物體在用戶點擊你給的標籤「橢圓形「(並將事件傳遞給它)。

希望這可以幫助您開始!

我會注意到,tag_bind工作,對象仍然必須在畫布上,所以不要將您的橢圓的狀態更改爲隱藏或包裝忘記它們,只需在您的顏色和沒有任何內容之間切換橢圓填充( fill="")。