我有一个BaseActivity
窗口小部件是不可编辑的,可以使用Text
窗口小部件添加文本。我希望Entry
窗口小部件中的某些文本与其他文本的颜色不同,具体取决于发送的文本类型。
例如,取决于类型的可能输出可以是:
Text
根据我的发现,似乎可以使用*Line one text* (color: Black)
*Line two text* (color: Blue)
*Line three text* (color: Black)
小部件具有的tag_add
和tag_configure
方法,但我不确定如何执行此操作。
我有以下方法将文本附加到Text
小部件并且能够更改文本的颜色:
Text
但是,如果我将颜色更改为“绿色”,则不会仅针对发送的文本更改颜色,而是将其更改为所有文本。
那么如何让它仅用于发送的文本?
另请注意,我正在运行Python 3.6.1
答案 0 :(得分:2)
您需要为每种颜色使用唯一的标记名称。
def append_to_display(self, text, color=standard):
tag_name = "color-" + color
self.display.tag_configure(tag_name, foreground=color)
...
self.display.insert(END, text + "\n", tag_name)
...