Tkinter, toplevel and images
Adam E
adam2new at gmail.com
Fri Aug 22 16:56:19 EDT 2008
On Aug 22, 9:17 am, Pedro <Pedro.Tarr... at gmail.com> wrote:
> Hi
>
> I'm trying to build a small application that can display some images
> in a toplevel window. I have this code:
>
> def Results(master):
> from Tkinter import Toplevel, Button, Label
> from PIL import ImageTk
>
> figures = ['first.png', 'second.png']
>
> ResultsWindow = Toplevel(master)
> ResultsWindow.title('Results')
>
> picts = [ImageTk.PhotoImage(file = x) for x in figures]
>
> butRW = Button(ResultsWindow, text = 'CLOSE', command =
> ResultsWindow.destroy)
> butRW.pack()
>
> height = sum([x.height() for x in picts])
> width = picts[0].width()
>
> y = 0
> for pict in picts:
> label = Label(ResultsWindow,image=pict).pack()
> y += pict.height()
>
> from Tkinter import Tk
> root = Tk()
> Results(root)
> root.mainloop()
>
> and I just can see a grey window with a "close" button... However,
> when I try the same code with the root I can see both images... Can
> anyone give me a tip?
>
> Thanks! :)
You can try making a class for the Tkinter.Toplevel window. I don't
have PIL, but I know if you query for a widget's value when the window
is not yet displayed, it will give a nearly 0-by-0 size result.
You can also try to set a size for the Toplevel window and see if the
images display.
I have not encountered this before, but I only know what I have read
from books (like Programming Python by O'Reilly) and have assumed.
Good luck.
More information about the Python-list
mailing list