首页 > 解决方案 > Tkinter 如何吹捧比较画布的标签

问题描述

嘿,我对 Python 3 中 Tkinter 的标签系统有一些问题。我有一个画布“平铺”矩阵,其中一些有“陷阱”标签。如何将矩阵的每个图块的标签与“陷阱”标签进行比较(我不知道如何编写条件,我知道我必须浏览我的矩阵并比较它们)

谢谢

标签: pythontkinter

解决方案


下面比较了画布中每个项目的标签,并返回具有“陷阱”标签的所有项目 ID 的列表。

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

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

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


推荐阅读