Python Winfo_x Winfo_y获取坐标

Python Winfo_x Winfo_y获取坐标,python,tkinter,python-3.3,Python,Tkinter,Python 3.3,我遇到了一些问题。我需要正方形从画布边框上弹下来/ 我需要得到正方形的x和y。我怎么能做到 我知道我必须使用winfoux和winfouy,但我不知道如何使用它 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 pain

我遇到了一些问题。我需要正方形从画布边框上弹下来/ 我需要得到正方形的x和y。我怎么能做到

我知道我必须使用
winfoux
winfouy
,但我不知道如何使用它

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()

您可以通过调用
cnv.bbox(rect)
获得矩形的边框。它将返回一个值元组
(x1,y1,x2,y2)
,描述矩形覆盖的区域。这个
矩形的左上角是(x1,y1),右下角是(x2,y2)。

您可以通过调用
cnv.bbox(rect)
获得矩形的边框。它将返回一个值元组
(x1,y1,x2,y2)
,描述矩形覆盖的区域。这个
矩形的左上角是(x1,y1),右下角是(x2,y2)。

谢谢,我也确信,使用cnv.coords(rect)是合法的,
cnv.coords(rect)
也可以工作,但它可以根据传递的参数做其他事情,因此,使用它可能比调用单一用途的
cnv.bbox(rect)
慢一点。谢谢,我也相信,使用cnv.coords(rect)也是合法的。是的,
cnv.coords(rect)
也可以工作,但它可以根据传递的参数做其他事情,因此,使用它可能比调用单用途
cnv.bbox(rect)
慢一点。