为什么 tkinter Text 不添加颜色?

Why is tkinter Text not adding color?

我正在尝试为文本小部件中的单词添加背景色和前景色,它插入了文本但没有颜色。

为什么会这样?

这是我正在使用的部分代码:

for line in decoded.splitlines() :
   if name in line :
       conversation.tag_add(line, "1.0", "1.4" )
       conversation.tag_config(line, background="yellow", foreground="blue")
conversation.yview(END)

"decoded"是字符串,name是单词。我正在寻找我在脚本开头定义的字符串。

如果变量名在其中,我希望它为线条着色,但我似乎做不到。

您给tag_add的索引是绝对索引。即使您遍历所有行,您也只会一遍又一遍地向文本小部件的前四个字符添加突出显示。

另一个问题是您给出了一个非常不寻常的标签名称。您正在使用以整行内容命名的标签(即:如果文本行是 "hello, world",您正在创建一个名为 "hello, world" 的标签)。它实际上可能是安全的,但它非常不寻常。标签名称通常是简单的字符串,如 "bold" 或 "highlight" 或类似的东西。如果您确实希望每一行都有一个唯一的标签,我建议您使用简单的递增 name/number,例如 "tag-1"、"tag-2" 等