56530


お世話になります。  
GUIアプリケーションにメッセージエリアをtk.Textウィジットで作成しています。  
ここには、ERRORやWARNING、INFOといったLOGレベルに応じて行の文字を色分けして見やすく表示がしたいと考えています。  
しかし、tk.Textウィジットで行ごとに色分けできません。  
添付した画像のようにforegroundの色で全体の文字色が変わってしまいます。  
[![TEXTの行を色分けしたい](https://i.stack.imgur.com/zMN67.png)](https://i.stack.imgur.com/zMN67.png)

どなたか、文字色を行ごとに指定する方法をご教示願えないでしょうか。


CC BY-SA 4.0
2019-07-10T00:22:06.240
56528
2019-07-10T01:08:31.703
2019-07-10T01:08:31.703
3060
32891
question
python python3 tk
python tk Text ウィジットで各行の文字色を個別に指定したい。


tag_config() を使うのが簡単でしょうね。

[code]

    import tkinter as tk
    
    root = tk.Tk()
    txt = tk.Text(root)
    txt.pack()
    
    txt.tag_config('info', foreground="blue")
    txt.tag_config('warning', foreground="pink")
    txt.tag_config('error', background="yellow", foreground="red")
    
    txt.insert('end', "START\n")
    txt.insert('end', "[INFO]\n", 'info')
    txt.insert('end', "[WARNING]\n", 'warning')
    txt.insert('end', "[ERROR]\n", 'error')
    root.mainloop()
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/ExIfW.png)](https://i.stack.imgur.com/ExIfW.png)


CC BY-SA 4.0
2019-07-10T00:45:45.267
56530
2019-07-10T00:45:45.267
24801
56528
answer