2013-10-12 1 views
0

문제가 생겼습니다. Canvas border/ 정사각형의 x와 y를 가져와야합니다. 내가 어떻게 할 수 있니?Winfo_x winfo_y 좌표 받기

나는 winfo_xwinfo_y을 사용해야한다는 것을 알고 있으며, 어떻게 사용하는지 모르겠다.

from tkinter import* 

root = Tk() 
cnv = Canvas(root, bg='yellow', width=700, height=500) 
cnv.pack() 
rect = cnv.create_rectangle(50, 50, 100, 100, fill='black') 

def paintloop(): 

    cnv.move(rect, 2, 2) 
    root.after(10, paintloop) 

root.after(0, paintloop) 
root.mainloop() 

답변

1

cnv.bbox(rect)을 호출하여 사각형의 경계 상자를 가져올 수 있습니다. 사각형으로 덮인 영역을 설명하는 값 튜플 ((x1, y1, x2, y2))을 반환합니다. 사각형의 왼쪽 위 모서리는 이며 (x1, y1) 오른쪽 하단 모서리는 (x2, y2)입니다.

+0

고마워, 또한 cnv.coords (rect)를 사용하는 것이 정당하다는 것을 알고있다. –

+0

예,'cnv.coords (rect)'도 작동하지만 인수에 따라 다른 일을 할 수있다. 따라서 그것을 사용하는 것은 단일 목적'cnv.bbox (rect)'를 호출하는 것보다 약간 느릴 수 있습니다. – martineau