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!
我想为每个用不同颜色着色的文字上色,但我最终得不到这个结果。如何保持每次插入的颜色?
答案 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()