6.3. The Scrollbar Widget
Instead of
automatically creating one or more scrollbars with the
Scrolled method, you can use the
Scrollbar widget method and perform the
configuration yourself. It is better to create and configure your own
scrollbars when you need to do something nonstandard, such as having
one scrollbar scroll two listboxes.
6.3.1. Creating a Scrollbar Widget
To create the scrollbar, invoke the Scrollbar method from the parent widget. It returns a reference to the newly created scrollbar that you can use for configuration:
$scrollbar = $mw->Scrollbar([ options ...])
There are at least two other things you need to do to get a scrollbar working with another widget. First, create the to-be-scrolled widget and use the scrollbar with its -xscrollcommand or -yscrollcommand option. Then configure the scrollbar so that it knows to talk to that widget. Here's an example that creates a listbox widget (don't worry if you don't quite follow all of this now; I just want to show a complete example before we go on to talk about all the options):
# Create the vertical scrollbar $scrollbar = $mw->Scrollbar(); $lb = $mw->Listbox(-yscrollcommand => ['set' => $scrollbar]); #Configure the scrollbar to talk to the listbox widget $scrollbar->configure(-command => ['yview' => $lb]); #Pack the scrollbar first so that it doesn't disappear when we resize $scrollbar->pack(-side => 'right', -fill ...
Get Learning Perl/Tk now with the O’Reilly learning platform.
O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.