【问题标题】:Remove all tags of a tkinter text widget删除 tkinter 文本小部件的所有标签
【发布时间】:2020-06-29 17:59:46
【问题描述】:

有没有办法在 tkinter 中删除文本小部件上的所有标签?

text.tag_config("NONE",font=Font(family="Arial",size=10))
text.add_tag("NONE","1.0","end")

不起作用。如果我将部分文本设为红色并尝试删除该标签,则不会发生任何事情。我可以(作为用户)清除标签的唯一方法是删除带有红色标签的文本。

【问题讨论】:

  • 任何文本范围都可以应用任意数量的标签 - 因此添加新标签不会摆脱旧标签。您必须明确地.tag_remove().tag_delete() 旧标签。

标签: python tkinter text


【解决方案1】:

要删除任何单个标签,请使用tag_remove,并为其指定标签名称。要从整个文档中删除,请使用索引“1.0”和“end”

text.tag_remove("the_tag", "1.0", "end")

要删除所有标签,请遍历所有标签的列表。您可以使用tag_names() 获取所有标签的列表。该列表将包括您的所有自定义标签以及用于管理选择的标签“sel”。

for tag in text.tag_names():
    text.tag_remove(tag, "1.0", "end")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多