Using tags

Foreground and background are sufficient for simple widgets such as buttons, but more complex Tkinter widgets like the Text widget or the Ttk Treeview rely on a system of tags. A tag in Tkinter is a named region of a widget's content to which color and font settings can be applied. To see how this works, let's build a crude, but pretty, Python shell.

We'll start by creating a Text widget:

import tkinter as tk
text = tk.Text(width=50, height=20, bg='black', fg='lightgreen')
text.pack()

Here, we've used the fg and bg arguments to set up a green-on-black theme, popular with programmers. Rather than have only green text, though, let's configure different colors for our prompt and our interpreter output.

To do this, we'll define some ...

Get Python GUI Programming with Tkinter now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.