O'Reilly logo

Mastering Perl/Tk by Nancy Walsh, Stephen Lidie

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The Scrolled Method

To create a widget and Scrollbars at the same time, use the Scrolled method. Scrolled returns a pointer to the widget created. It is the easiest way to add Scrollbars to a scrollable widget. The Scrolled method creates a Frame that contains the widget and Scrollbar(s). You create them all in one command.

The usage for the Scrolledmethod is:

$widget = $parent->Scrolled('Widget', 
                             -scrollbars => 'string' [, options ]);

The first argument is the widget to create, such as "Listbox" or "Canvas". The other argument you’ll need to use is the -scrollbars option, which takes a string that tells it which Scrollbars to create and where to put them.

The possible values for -scrollbars are "n", "s", "e", "w"; or "on", "os", "oe", "ow"; or some combination of those that combines n or s with an e or w. The "n" means to put a horizontal Scrollbar above the widget. An "s" means to put a horizontal Scrollbar below the widget. The "e" means to put a vertical Scrollbar to the right of the widget. The "w" means to put a vertical Scrollbar to the left of the widget.

You can have a maximum of two Scrollbars for each widget. For instance, we can create one Scrollbar on the "n" side of the widget. It is possible to use "nw" to create two Scrollbars, one on the top and one on the left of the widget. It is not legal to use "ns", because "n" and "s" scroll in the same direction.

The "o" in front of the direction makes that Scrollbar optional. Optional Scrollbars will only display when the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required