tkinter urgent help request
Eric Brunel
eric.brunel at pragmadev.com
Tue Jun 24 03:43:18 EDT 2003
idriss wrote:
> i want to scroll one frame's or canvas 's whole content (it will contain
> other subframes and subframes will contain bitmaps) I couldn't find
> where is my fault. if you can find my fault or have some example codes
> like this please help me thanks from now.....
>
>
>
> from Tkinter import *
> import Image
>
>
> root = Tk()
>
> mainFrame = Canvas(root,width=400, height=420, bg='gray50',relief=RIDGE)
> mainFrame.pack(fill=BOTH,expand=1)
>
> scroll = Scrollbar(mainFrame)
You need to link the scrollbar to the canvas here. You link the canvas to the
scrollbar below, but it needs to be done in both ways:
scroll = Scrollbar(mainFrame, command=mainFrame.xview)
> scroll.pack(side=RIGHT,expand=1,fill=BOTH)
>
> mainFrame.configure(xscrollcommand=scroll.set)
>
>
> subFrame = Frame(mainFrame,width=200,height=300)
> subFrame.pack(expand=1,fill=BOTH)
>
> picNo =0
> img = []
>
> # two picture placed side by side
> imgfile = 'c:\untitled.bmp'
> lbl = Label(subFrame, bd=0)
> lbl.place(anchor=NW)
> masterImg = Image.open(imgfile)
> masterImg.thumbnail((500, 500))
> img.append(ImageTk.PhotoImage(masterImg))
> lbl['image'] = img[picNo]
> picNo = picNo + 1
> lbl.pack(side=LEFT)
>
> imgfile = 'c:\untitled.bmp'
> lbl = Label(subFrame, bd=0)
> lbl.place(anchor=NW)
> masterImg = Image.open(imgfile)
> masterImg.thumbnail((500, 500))
> img.append(ImageTk.PhotoImage(masterImg))
> lbl['image'] = img[picNo]
> picNo = picNo + 1
> lbl.pack(side=LEFT)
> root.mainloop()
I couldn't test the script since I didn't have the Image module installed, but
it should work now.
HTH
--
- Eric Brunel <eric.brunel at pragmadev.com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
More information about the Python-list
mailing list