Tkinter Text Widget Background Color
Jeff Hobbs
jeff.hobbs at gmail.com
Tue Feb 22 11:58:44 EST 2011
On Feb 22, 8:48 am, Terry Reedy <tjre... at udel.edu> wrote:
> On 2/22/2011 6:50 AM, Peter Otten wrote:
>
> > import Tkinter as tk
> > from itertools import cycle
>
> > root = tk.Tk()
> > text = tk.Text(root, font=("Helvetica", 70))
> > text.pack()
>
> > text.insert(tk.END, "Hello, geocities")
> > text.tag_add("initial", "1.0", "1.1")
> > text.tag_add("initial", "1.7", "1.8")
>
> > colors = cycle("red yellow blue".split())
> > initial_colors = cycle("#8f8 #f08".split())
>
> > def switch_color():
> > # change the complete widget's background color
> > text["bg"] = next(colors)
>
> > # change the background color of tagged portions
> > # of the widget's conten
> > text.tag_config("initial", background=next(initial_colors))
>
> > # do it again after 300 milliseconds
> > root.after(300, switch_color)
>
> > # call the color-setting function manually the first time
> > switch_color()
> > root.mainloop()
>
> This example is helpful to me. I am curious though why the tk window
> takes up the full screen instead of being much smaller as usual for
> other examples I run. Shortening or shrinking the text has no effect.
Because a 70point Helvetica font was requested, and the text widget
has a default size of 80x24. That would occupy the full size of most
screens.
Jeff
More information about the Python-list
mailing list