當我將鼠標懸停在畫布上時,我希望畫布上方有一些標籤可以顯示x,y座標,如果我將光標保持不動,但在移動時保持不變。我將如何做到這一點?將光標懸停在畫布上時如何顯示畫布座標?
0
A
回答
2
您可以使用回調方法並將其綁定到Motion
event。
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.pack()
def moved(event):
canvas.itemconfigure(tag, text="(%r, %r)" % (event.x, event.y))
canvas.bind("<Motion>", moved)
tag = canvas.create_text(10, 10, text="", anchor="nw")
root.mainloop()
0
還使用<Enter>
事件。所以當你在窗口之間切換時(<Alt>+<Tab>
熱鍵),你的光標將顯示正確的座標。
例如,您將光標放在畫布上,<Motion>
事件將跟蹤它,但是當您按<Alt>+<Tab>
並切換到另一個窗口時,再次將光標移動到您的畫布上並<Alt>+<Tab>
- 您的座標光標將錯誤,因爲<Motion>
事件不跟蹤窗口之間的切換。要修復它,請使用<Enter>
事件。
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.pack()
def get_coordinates(event):
canvas.itemconfigure(tag, text='({x}, {y})'.format(x=event.x, y=event.y))
canvas.bind('<Motion>', get_coordinates)
canvas.bind('<Enter>', get_coordinates) # handle <Alt>+<Tab> switches between windows
tag = canvas.create_text(10, 10, text='', anchor='nw')
root.mainloop()
相關問題
- 1. 畫布座標
- 2. 將OpenGL畫布座標轉換爲HTML5畫布座標
- 3. 鼠標點擊我的畫布上,鼠標懸停在畫布的一部分,鼠標移出畫布
- 4. 在鼠標上停止畫布動畫
- 5. HTML5畫布鼠標座標
- 6. 鼠標懸停在使用javascript的動畫畫布上
- 7. 座標在WPF畫布
- 8. 如何獲得畫布光標點擊座標
- 9. HTML5畫布鼠標懸停事件
- 10. 總是在畫布上顯示鼠標
- 11. WebGL:畫布座標到三維座標
- 12. 在畫布上查找座標Gnuplot
- 13. 在平移畫布上獲取座標
- 14. 檢測鼠標懸停並在HTML畫布上顯示工具提示文本
- 15. 獲取畫布X和Y座標並顯示在屏幕上
- 16. 在畫布上突出顯示座標橢圓邊界
- 17. Android畫布座標系
- 18. 畫布x座標檢測
- 19. 拖動鼠標時將光標移到HTML5畫布上
- 20. 光標:指針懸停HTML5畫布元素
- 21. 當光標懸停在HTML5畫布上的圖像上時,更新段落中顯示的文本
- 22. 將矢量轉換爲HTML5畫布(DXF轉爲畫布座標)
- 23. 如何使用光標擦除畫布
- 24. WPF使用工具提示在畫布上顯示鼠標座標
- 25. 畫布上下文座標不穩定
- 26. 在畫布上繪圖時鼠標座標不正確
- 27. HTML5畫布中的鼠標座標
- 28. 完善畫布鼠標座標
- 29. 在鼠標懸停上更改畫布繪製圖像
- 30. HTML5 Canvas鼠標懸停在畫布上的事件