为什么tkinter文字没有添加颜色?

时间:2015-04-19 21:18:42

标签: python-2.7 tkinter

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

为什么会这样?

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

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)

"解码"是一个字符串,名称是单词。我正在寻找我在剧本开头定义的字符串。

如果变量名在其中,我希望它为该行着色,但我似乎无法做到。

1 个答案:

答案 0 :(得分:1)

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

另一个问题是你提供了一个非常不寻常的标签名称。您正在使用以整行内容命名的标记(即:如果文本行是“hello,world”,则表示您正在创建名为“hello,world”的标记)。它实际上可能是安全的,但它非常不寻常。标签名称通常是简单的字符串,如“粗体”或“突出显示”或类似的东西。如果您真的想要为每一行添加唯一标记,我建议使用简单的递增名称/数字,如“tag-1”,“tag-2”等。