python - 如何从 Tkinter 文本小部件中的文本中获取标签?
问题描述
我正在努力寻找有关如何从 Tkinter 文本小部件中的文本获取标签的任何文档。Canvas 小部件有一个gettags()
方法。我想文本小部件有类似的方法,但我找不到任何东西。
如何获取在特定字符范围内使用的所有标签的列表?
解决方案
没有命令可以为您提供一系列字符的标签列表,但是有一个命令可以获取单个字符的标签。如果您想要一个字符范围内任何地方使用的所有标签的列表,您可以使用以下内容迭代字符:
def get_tags(start, end):
index = start
tags = []
while text.compare(index, "<=", end):
tags.extend(text.tag_names(index))
index = text.index(f"{index}+1c")
return set(tags)
如果您有一个字符串,其中字符 1.0 用“foo”标记,并且 1.1 被标记为“bar”,那么 `get_tags("1.0", "1.1") 将返回 ("foo", "bar"),因为每个标签在该范围内的某处使用。
推荐阅读
- python - 来自 Codewars 的超市队列编程问题
- java - ScrollView 中的 Android Studio ScrollView
- ruby - 如何使用 ruby 和 ARGV 在目录中创建目录
- python - Python:在 numpy 数组中查找最大值和不连续点
- javascript - 如何安排图像相关元素的响应式但绝对定位?
- laravel - 如何从 laravel 控制器中的 3 个(多个)表中搜索数据?
- angular - Ionic Angular ion-reorder-group inside ion-reorder-group
- javascript - 在 .net 核心中发布到控制器时,无法让 .ajax 给出值
- asp.net-mvc - 是否可以使用相同的应用程序为不同的用户提供不同的数据库?
- python - Rest API 在本地运行良好,但在 Herkoku 上运行良好