Skip to main content
 首页 » 编程设计

python之如何使用 ScrolledText 小部件为文本添加多色

2025年05月04日16mfrbuaa

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! 

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

请您参考如下方法:

插入带有标签的文本(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()