文本框中带颜色的Python tkinter文本

文本框中带颜色的Python tkinter文本,python,tkinter,text,textbox,tk,Python,Tkinter,Text,Textbox,Tk,这是我的代码: import tkinter as tk def add_text(message, color='black'): text_box.config(state=tk.NORMAL, fg=color) text_box.insert(tk.END, message + "\n") text_box.config(state=tk.DISABLED) root = tk.Tk() text_box = tk.Text(state=tk.

这是我的代码:

import tkinter as tk
def add_text(message, color='black'):
    text_box.config(state=tk.NORMAL, fg=color)
    text_box.insert(tk.END, message + "\n")
    text_box.config(state=tk.DISABLED)
root = tk.Tk()
text_box = tk.Text(state=tk.DISABLED, font=("Arial 18", 16))
text_box.grid(row=0, column=0, sticky="nsew")
add_text("word")
add_text("word_with_color", 'red')
add_text("word")
tk.mainloop()
我只希望带有颜色字符串的单词\u为其他颜色,我该怎么做?
我尝试的函数会更改整个文本,而这不是我想要的。

要向文本范围添加颜色或其他属性,请首先配置标记以具有所需的属性,然后将标记添加到要影响的文本范围。您可以在使用insert添加文本时添加标记,也可以稍后使用tag_add方法添加标记

首先,将标记配置为具有颜色。标记名可以是您想要的任何内容

text_box.tag_configure("warning", foreground="red")
接下来,可以在调用insert时添加标记。调用insert时,可以在文本后提供标记列表。然后,您可以在此之后添加其他文本和标记

在下面的示例中,将标记添加到文本中,但不添加换行符

def add_text(message, tags=None):
    text_box.config(state=tk.NORMAL)
    text_box.insert(tk.END, message, tags, "\n")
    text_box.config(state=tk.DISABLED)
你可以这样称呼它:

add_text("word")
add_text("word_with_color", "warning")
add_text("word")

要向文本范围添加颜色或其他属性,请首先将标记配置为具有所需属性,然后将标记添加到要影响的文本范围。您可以在使用insert添加文本时添加标记,也可以稍后使用tag_add方法添加标记

首先,将标记配置为具有颜色。标记名可以是您想要的任何内容

text_box.tag_configure("warning", foreground="red")
接下来,可以在调用insert时添加标记。调用insert时,可以在文本后提供标记列表。然后,您可以在此之后添加其他文本和标记

在下面的示例中,将标记添加到文本中,但不添加换行符

def add_text(message, tags=None):
    text_box.config(state=tk.NORMAL)
    text_box.insert(tk.END, message, tags, "\n")
    text_box.config(state=tk.DISABLED)
你可以这样称呼它:

add_text("word")
add_text("word_with_color", "warning")
add_text("word")