2014-10-30 191 views
0

我想在計時器上顯示鼠標位置。我用winfo_pointerxy(),這裏是從my_func,並將部分代碼():在畫布上繪圖// python tkinter

curr_x, curr_y = mouseFrame.winfo_pointerxy() 
curr_x = mouseFrame.canvasx(curr_x) 
curr_y = mouseFrame.canvasy(curr_y) 
mouseFrame.create_oval(curr_x, curr_y, curr_x + 5, curr_y + 5, fill='green') 
start_btn.after(time_interval, my_func) 

好像我用canvasx()錯誤的原因仍然返回從屏幕的左上方的位置計算。

回答

1

根據該tkinter reference(我不斷用)

由於帆布可以比窗口變大,並配備 滾動在窗口中移動的整體畫布,有 兩個座標

The window coordinates of a point are relative to the top left 
corner of the area on the display where the canvas appears. 

The canvas coordinates of a point are relative to the top left 
corner of the total canvas. 

如果你的畫布是針對窗口(顯示器)的左上角,你有沒有滾動畫布,在T:每個帆布系統我的座標套應該是是一樣的。