re: Please help -- Pmw PanedWidget inside ScrolledFrame

From: Jared Cohen (Jared.Cohen_at_noaa.gov)
Date: 01/05/05


Date: Wed, 05 Jan 2005 17:24:41 -0500
To: python-list@python.org

Almost forgot, here's the code sample:

#!/usr/bin/env python
import sys, os, Tkinter, types, tkFont, Pmw

def makeResizable(widget):
    for i in range(0, widget.grid_size()[0]):
        widget.columnconfigure(i, weight=1)
    for i in range(0, widget.grid_size()[1]):
        widget.rowconfigure(i, weight=1)

def main():

    root = Tkinter.Tk()
    root.geometry("500x500+0+0")

    Pmw.initialise(root)

    scrolledFrame = Pmw.ScrolledFrame(root,
                                      usehullsize=1,
                                      borderframe=0,
                                      hscrollmode='static',
                                      vscrollmode='static')
    scrolledFrame.grid(row=0, rowspan=20, column=0, columnspan=20,
sticky='nsew')

    panes = Pmw.PanedWidget(scrolledFrame.interior(),
                            orient='horizontal',
                            hull_borderwidth=2,
                            hull_relief='sunken')
    panes.grid(row=0, rowspan=20, column=0, columnspan=20, sticky='nsew')

    for i in range(5):
        pane = panes.add("pane"+str(i), size=1/5.0)
        button = Tkinter.Button(pane, text="This Is A Very Long Name For
A Button")
        button.grid(row=0, rowspan=1, column=i, columnspan=1, sticky='nsew')

    makeResizable(root)
    makeResizable(scrolledFrame.interior())
    makeResizable(panes)

    root.mainloop()

if __name__=='__main__': main()