如何使用ScrolledText小部件多色文本?

时间:2016-07-02 11:31:07

标签: python python-3.x tkinter

from tkinter import *
from tkinter.scrolledtext import ScrolledText

window= Tk()
window.geometry('970x45')
box = ScrolledText(window, width=70, height=7).pack()
box.insert(END, "Ehila") #this insert "Ehila" into the box
box.congif(foreground='green') #this change the colour of "Ehila" into green colour
box.insert(END, "Now") #this insert "Now" into the box
box.congif(foreground='red') #this change the colour of "Now" into red colour but also "Ehila" become red and I don't want this!

我想为每个用不同颜色着色的文字上色,但我最终得不到这个结果。如何保持每次插入的颜色?

1 个答案:

答案 0 :(得分:6)

插入带标签的文字(insert方法接受可选的标签参数)。稍后使用Text.tag_config更改标记文本的颜色。

from tkinter import *
from tkinter.scrolledtext import ScrolledText

window = Tk()
window.geometry('970x45')
box = ScrolledText(window, width=70, height=7)
box.pack()
box.insert(END, "Ehila", 'name')  # <-- tagging `name`
box.insert(END, "Now", 'time')  # <-- tagging `time`
box.tag_config('name', foreground='green')  # <-- Change colors of texts tagged `name`
box.tag_config('time', foreground='red')  # <--  Change colors of texts tagged `time`

window.mainloop()