在Python 2.7中的Tkinter文本widgit中搜索单词列表

桑皮

我一直在尝试在Tkinter GUI上进行按钮检查,以将输入的文本搜索到特定词的文本小部件中并使其显示为红色,我设法使用以下代码来做到这一点:

list_of_words = ["foo", "bar`enter code here`"]
def check():
global counter
text.tag_remove('found', '1.0', END)
idx = '1.0'
x = 0
while True:
    idx = text.search(list_of_words[x], idx, nocase=1, stopindex=END)
    if not idx: break

    lastidx = '%s+%dc' % (idx, len(list_of_words[x]))
    text.tag_add('found', idx, lastidx)
    idx = lastidx
    text.tag_config('found', foreground='red')
    counter += 1
    print counter

但是,我需要能够在输入中搜索list_of_words列表中的所有单词,并将它们全部显示为红色。有什么办法吗?

姆霍克

您的代码不会递增,x因此,如果存在第一个单词,则while循环将永远不会终止。但是,它确实会增加全局变量,但counter没有明显的原因。

为什么不简单地使用for循环遍历目标词列表呢?内部while循环将在文本小部件中搜索每个单词的所有实例,并将其标记为突出显示。while循环的终止条件是在窗口小部件中找不到当前单词。然后,在标记所有单词之后,设置其颜色。

def check():
    text.tag_remove('found', '1.0', END)

    for word in list_of_words:
        idx = '1.0'
        while idx:
            idx = text.search(word, idx, nocase=1, stopindex=END)
            if idx:
                lastidx = '%s+%dc' % (idx, len(word))
                text.tag_add('found', idx, lastidx)
                idx = lastidx

    text.tag_config('found', foreground='red')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何让python在列表中搜索一个单词而不是列表中所有单词的文本?

来自分类Dev

python搜索文件中的单词列表

来自分类Dev

Python - 清除和重置文本widgit - Tkinter

来自分类Dev

Python使用tkinter在滚动文本框中搜索下一个单词

来自分类Dev

如何在 Python 中返回 2 个单词的嵌套列表?

来自分类Dev

使用python从单词列表中查找长度为2的单词的所有组合

来自分类Dev

在Python的文本文件中搜索单词

来自分类Dev

在Python中搜索字符串并获取匹配之前和之后的2个单词

来自分类Dev

在列表python中搜索单词的其余部分

来自分类Dev

从列表中随机选择单词无法正常工作(Python / Tkinter)

来自分类Dev

Python在数据框架中搜索列表中的单词,并跟踪找到的单词和频率

来自分类Dev

从python中的列表搜索

来自分类Dev

Python:在列表中搜索

来自分类Dev

在Python 2中搜索FileNotFoundError的等效项

来自分类Dev

从python列表中删除单词?

来自分类Dev

Python 2中的列表切片

来自分类Dev

在PHP中搜索2个单词

来自分类Dev

Python:在2d列表中找到一个单词,然后返回交集,即该单词在列表中的行索引和列索引

来自分类Dev

Tkinter Python中的文本动画?

来自分类Dev

Tkinter中的Python覆盖文本

来自分类Dev

在Python列表中搜索元素

来自分类Dev

在python中搜索字典列表

来自分类Dev

在Python DataFrame / List中搜索多个单词

来自分类Dev

确定Python句子中2个单词之间的接近度

来自分类Dev

在Python 2中并发

来自分类Dev

如何在文本文件中搜索单词并使用Python打印整行?

来自分类Dev

将元组列表(从itertools)转换为文本文件Python中的单词列表

来自分类Dev

如何从python中的列表中删除单词

来自分类Dev

Tkinter列表中的Python菜单

Related 相关文章

  1. 1

    如何让python在列表中搜索一个单词而不是列表中所有单词的文本?

  2. 2

    python搜索文件中的单词列表

  3. 3

    Python - 清除和重置文本widgit - Tkinter

  4. 4

    Python使用tkinter在滚动文本框中搜索下一个单词

  5. 5

    如何在 Python 中返回 2 个单词的嵌套列表?

  6. 6

    使用python从单词列表中查找长度为2的单词的所有组合

  7. 7

    在Python的文本文件中搜索单词

  8. 8

    在Python中搜索字符串并获取匹配之前和之后的2个单词

  9. 9

    在列表python中搜索单词的其余部分

  10. 10

    从列表中随机选择单词无法正常工作(Python / Tkinter)

  11. 11

    Python在数据框架中搜索列表中的单词,并跟踪找到的单词和频率

  12. 12

    从python中的列表搜索

  13. 13

    Python:在列表中搜索

  14. 14

    在Python 2中搜索FileNotFoundError的等效项

  15. 15

    从python列表中删除单词?

  16. 16

    Python 2中的列表切片

  17. 17

    在PHP中搜索2个单词

  18. 18

    Python:在2d列表中找到一个单词,然后返回交集,即该单词在列表中的行索引和列索引

  19. 19

    Tkinter Python中的文本动画?

  20. 20

    Tkinter中的Python覆盖文本

  21. 21

    在Python列表中搜索元素

  22. 22

    在python中搜索字典列表

  23. 23

    在Python DataFrame / List中搜索多个单词

  24. 24

    确定Python句子中2个单词之间的接近度

  25. 25

    在Python 2中并发

  26. 26

    如何在文本文件中搜索单词并使用Python打印整行?

  27. 27

    将元组列表(从itertools)转换为文本文件Python中的单词列表

  28. 28

    如何从python中的列表中删除单词

  29. 29

    Tkinter列表中的Python菜单

热门标签

归档