develooper Front page | perl.tcltk | Postings from March 2010

Scrolling a window

Thread Next
From:
Swingle David-QWHM86
Date:
March 2, 2010 01:13
Subject:
Scrolling a window
Message ID:
708178298B2B4B448E70B9686E60AC86045EE994@ct11exm61.ds.mot.com
Hi, I'd like to scroll a window, but can't seem to get it work.  I've
seen and tried code that scrolls widgets such as a listbox, but I want
to scroll the entire window.  What I would prefer is that there be no
scroll bars unless the user shrinks the window size so that widgets are
now out of view.  First, I tried to associate the scrollbars with a
frame, but I would get errors.  So, I tried using a canvas instead.  The
code I have is below.  It will display scrollbars that do nothing.
 
<code>
use strict;
use Tkx;
Tkx::package_require("tile");
 
my $mw = Tkx::widget->new(".");
 
$mw->g_grid_columnconfigure(0, -weight=>1);
$mw->g_grid_rowconfigure(0, -weight=>1);
#$mw->new_ttk__sizegrip()->g_grid(-column => 1, -row => 1, -sticky =>
"se");
 
my $canvas = $mw->new_canvas();
$canvas->g_grid(-column=>0, -row=>0, -sticky=>"nwes");
 
my $hscroll = $mw->new_ttk__scrollbar(-orient => "horizontal", -command
=> [$canvas, "xview"]);
$hscroll->g_grid(-column => 0, -row => 1, -sticky => "we");
 
my $vscroll = $mw->new_ttk__scrollbar(-orient => "vertical", -command =>
[$canvas, "yview"]);
$vscroll->g_grid(-column => 1, -row => 0, -sticky => "ns");
 
$canvas->configure(-yscrollcommand => [$vscroll, "set"], -xscrollcommand
=> [$hscroll, "set"]);
 
foreach my $i (1 .. 10)
{
    my $labelText = "Label " . $i;
    my $label = $canvas->new_ttk__label(-text => $labelText);
    $label->g_grid(-column => $i, -row => $i, -sticky => 'w');
}
 
Tkx::MainLoop();
</code>
 
Any help would be appreciated - David


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About