[Tkinter-discuss] Lazy updating of image data in ttk widgets
Michael Lange
klappnase at web.de
Fri Mar 8 19:02:20 CET 2013
On Fri, 8 Mar 2013 10:24:33 -0700
Bob Greschke <bob at passcal.nmt.edu> wrote:
> Happens on
>
> Python 2.7.2 (default, Jul 18 2011, 14:33:20)
> [GCC 4.4.4 20100726 (Red Hat 4.4.4-13)] on linux2
> TclVersion 8.5 TkVersion 8.5
> with the program running on the above and the output being X'ed to an
> OSX Mountain Lion iMac.
>
(...)
> Same with
>
> Python 2.7.2 (default, Jun 20 2012, 16:23:33)
> [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on
> darwin
> >>> import Tkinter
> >>> Tkinter.TclVersion
> 8.5
> >>> Tkinter.TkVersion
> 8.5
Ok, then it is at least not a bug specific for my version of Tk.
Experimenting a little I just found that it is possible to update the
image programatically if I force tk to redraw the button e.g. with this
modification of my example:
def test(event=None):
im.configure(data=icon2)
b.config(state=b['state'])
root.bind('<F1>', test)
It also works with b.config(image=b['image']) or
b.config(text=b['text']). Hmmm...
Another try, I changed my example callback into:
s = ttk.Style()
def test(event=None):
im.configure(data=icon2)
s.theme_use(s.theme_use())
root.bind('<F1>', test)
Here this works too, and this one might actually be usable!
Can you confirm that this does the trick?
Regards
Michael
.-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-.
Without facts, the decision cannot be made logically. You must rely on
your human intuition.
-- Spock, "Assignment: Earth", stardate unknown
More information about the Tkinter-discuss
mailing list