Terry Reedy 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.
The text widget's intended usecase is editing text; therefore it reserves space for 80 columns and 24 lines by default. Combined with the giant font size that I specified that means that it takes a all the space it can get. If you want to (ab)use a text widget to show its content you can specify the desired size in units of character cells, e. g. text = tk.Text(root, font=("Helvetica", 70), width=16, height=1) See also http://www.tcl.tk/man/tcl8.5/TkCmd/text.htm#M-height Peter -- http://mail.python.org/mailman/listinfo/python-list