You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改tkinter中ttk.Treeview的tags属性值(新增/删除/替换)

ttk.Treeview 本身就提供原生的item()方法支持直接修改指定项的tags属性,无需额外第三方组件。所有修改操作都基于该方法实现,以下针对你提出的3个问题分别给出实现方案,操作对象为你示例代码中iid为1的项:


问题1:给当前tags为'1'的项新增标签"NEWTAG",同时保留原有标签

实现逻辑:先读取当前项的现有tags,追加新标签后再回写覆盖原有tags配置。

# 获取当前项的tags,返回结果为元组类型
current_tags = tree.item(1, "tags")
# 追加新标签后回写
updated_tags = list(current_tags) + ["NEWTAG"]
tree.item(1, tags=updated_tags)

问题2:将原有标签全部替换为"NEWTAG",仅保留新标签

实现逻辑:直接给tags属性赋值新值,会直接覆盖原有所有标签配置。

# 直接覆盖原有tags
tree.item(1, tags=["NEWTAG"])

问题3:删除指定标签"NEWTAG",仅保留原有标签'1'

实现逻辑:读取现有tags后过滤掉需要删除的标签,再回写。

current_tags = tree.item(1, "tags")
# 过滤掉要删除的NEWTAG标签
updated_tags = [tag for tag in current_tags if tag != "NEWTAG"]
tree.item(1, tags=updated_tags)

补充说明

  • tree.item(iid, "tags") 用于读取指定iid项的标签列表,返回结果为元组类型
  • tree.item(iid, tags=新标签序列) 用于修改标签,新标签可以传列表、元组或单个字符串,若传入单个字符串会被自动识别为单个标签
  • 可通过"指定标签" in tree.item(iid, "tags")快速判断某标签是否已存在于当前项

内容的提问来源于stack exchange,提问作者Sun Bear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:24:05