首页 > 解决方案 > 查找多个对象的坐标

问题描述

我有一个Canvas上面有几个椭圆的。我想在标记椭圆后获取它们的坐标。我总共有 92 个椭圆,在标记它们之后,我无法获得多个对象的坐标。

但是我可以得到他们的身份证。以下是我尝试过的方法。经过几次尝试,我检查了 tkinter 的coords()功能,它似乎一次可以获取一个对象的坐标。我试图尽可能地缩短代码。我通过拖动剪切了标记对象的部分。当我运行该passtime()函数时,我得到了对象 ID,我得到了 ID 没有问题,但是当我尝试运行另一个函数时,我得到一个空列表。你知道是什么导致了这个问题吗?

注意:如果有人不明白我在做什么,我想分享整个代码。

def Passtime():
    liste5.clear()
    tagliler=canvas.find_withtag('kirmizi')
    liste5.append(tagliler)
    print(liste5)

def coordinates(liste6):
    for i in liste5:
        liste6.append(canvas.coords(i))
    return(liste6)

标签: pythontkintercoordinates

解决方案


作为canvas.find_withtag()返回 a tuple,您应该使用liste5.extend(tagliler)而不是,liste5.append(tagliler)因为后者将附加tupleliste5,但前一个将tagliler逐项附加到liste5.


推荐阅读