Hi, I just noticed an odd behavior in ttk, when I try to change the image data of a ttk.Label's image, the image isn't actually updated. A simple code example:
######################################## from Tkinter import * import ttk icon1 = ('R0lGODlhEAAQAJEAANnZ2QAAAISEAP///yH5BAEAAAAALAAAAAAQABAAAAJ' 'WhI9pFB8RIIRC+BYQFqQQvkWEBSmEbyFhQQrhW0hYkEL4FhIWpBC+hYQFSYxvIgF' 'AoXy0AAiSGP8kAIIkxgcICSBEQvEBQgIIkVB8gJAAAhgfj+BjWgEAOw==') icon2 = ('R0lGODlhEAAQAKIAANnZ2QAAAP///4SEhP//AP///////////yH5BAEAAAA' 'ALAAAAAAQABAAAANZCLrcjqG7CLqBoquBoBuCoSqBoBsouhoIuiEYqrKBoIGiqwE' 'YEIChyxAIEYGgywEYgKHLDAgRCLozgwABARgIukSEABEBGLq8gAEQCLobgAEAgKH' 'LgaDLzZgAOw==') root = Tk() im = PhotoImage(data=icon1) Label(root, image=im, text='Tkinter', compound='left').pack( padx=100, pady=50) ttk.Label(root, image=im, text='ttk', compound='left').pack( padx=100, pady=50) current = 1 def swapimage(): global current if current == 1: im.configure(data=icon2) current = 2 else: im.configure(data=icon1) current = 1 root.after(1000, swapimage) root.after(1000, swapimage) root.mainloop() ######################################## When I run this code, the image in the Tkinter.Label changes every second, as expected, but the ttk.Label's image doesn't. Is this documented somewhere or is this a bug? Adding update_idletasks() or even update() to swapimage() does not help either. I know that I can change the image by doing ttklabel.configure(image=some_other_photoimage) but I thought changing the image data on the fly should work, too. Btw., the system is debian linux, tcl version is 8.5.8 . Regards Michael .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. We do not colonize. We conquer. We rule. There is no other way for us. -- Rojan, "By Any Other Name", stardate 4657.5 _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss