Tkinter如何吹捧比较画布标签

时间:2018-09-21 05:24:18

标签: python tkinter

嘿, 我在Python 3中使用Tkinter的标记系统遇到了一些问题。 我有一个画布“ tile”矩阵,其中一些具有“ trap”标签。 如何将矩阵的每个图块的标记与“陷阱”标记进行比较(我不知道如何写条件,我知道我必须浏览矩阵并进行比较)

谢谢

1 个答案:

答案 0 :(得分:0)

以下内容将比较画布中每个项目的标签,并返回具有“ trap”标签的所有项目ID的列表。

traps = [item for item in canvas.find_all() if "trap" in canvas.itemcget(item, "tags")]

在这里,canvas.find_all()返回画布中所有项目的ID。 canvas.itemcget获取标签配置信息,该信息是标签名称的列表,我们检查“ trap”是否为该列表的成员。

通常,您将操作绑定到标签,例如,如果单击带有trap标签的项目,则可以执行某些功能。如果使用绑定事件(canvas.tag_bind),则可能不需要以上述方式搜索所有项目。