Gisle,
Yesterday was way too long, please note that I actually attached the
code this time. I will post this to the list also for posterity's sake.
Sorry to get back to you off the list but I implemented the following
snippet (grossly reduced app) and it works fine on my xp sp3 box, a test
xp sp2, and my win 2003 server but on any of my clients servers or pc's
(4 so far) I've tried it on it hangs, never shows the interface and eats
up 50% CPU until it is killed. Makes no difference whether I run it on
the command line via perl or compiled via perlapp. I pull the code for
BWidget out and it works fine. When I run it through debug it seems to
be getting into an endless loop after it branches into the Tkx module.
Any ideas on where to look would be greatly appreciated.
------ Start Code -------
#!c:/perl/bin -w
use strict ("vars");
use warnings;
use Tkx;
Tkx::package_require("BWidget");
my $mwb = Tkx::widget->new(".");
$mwb->g_wm_geometry("+0+0");
my $mws = $mwb->new_ScrolledWindow();
$mws->g_grid();
my $mwsf = $mws->new_ScrollableFrame(-width=> 1024, -height=> 782);
$mws->setwidget($mwsf);
my $mw = Tkx::widget->new($mwsf->getframe);
$mwb->g_wm_title("Some Title");
(my $nb = $mw->new_ttk__notebook(-height => 758, -width =>
1024))->g_grid();
Tab1();
Tab2();
Tkx::MainLoop();
sub Tab1 {
my $tab1 = $nb->new_ttk__frame(-padding => "10");
}
sub Tab2 {
my $tab2 = $nb->new_ttk__frame(-padding => "1");
$nb->add($tab2, -text => 'Sales', -state=>'normal');
}
--------End Code---------
Thanks,
Tony Bass
-----Original Message-----
From: Gisle Aas [mailto:[email protected]]
Sent: Tuesday, August 25, 2009 9:31 AM
To: Ken Slater
Cc: Tony W. Bass; [email protected]
Subject: Re: Scrollbar on main window
On Aug 25, 2009, at 16:53 , Ken Slater wrote:
> At 04:37 PM 8/23/2009, Tony W. Bass wrote:
>> Content-class: urn:content-classes:message
>> Content-Type: multipart/alternative;
>> boundary="----_=_NextPart_001_01CA2431.805F7A3E"
>>
>> Can anyone tell me how to make the entire tkx window scrollable?
>>
>> my $mw = Tkx::widget->new(".");
>>
>> My application takes a lot of screen space and I need to make it
>> scrollable if the users screen resolution is not set high enough.
>>
>> I am starting to pull out what little hair I have left over this.
>>
>> Many Thanks,
>>
>> Tony
>> _______________________________________________
>
> This may help. I'm new to Tkx and was trying to convert some Tk code.
> I finally got a scrollbar to work in this example.
> Ken
Thanks. I've taken the liberty of cleaning up your example a bit.
That gives me the following program.
--Gisle
#!/usr/bin/perl
# Example of scrollable frame in Perl using the
# Tkx module. Based on Tcl code at http://wiki.tcl.tk/1091.
use strict;
use warnings;
use Tkx;
Tkx::package_require("BWidget"); # new_ScrolledWindow
my $mw = Tkx::widget->new('.');
my $mws = $mw->new_ScrolledWindow();
$mws->g_pack(-expand => 1, -fill => "both");
my $mwsf = $mws->new_ScrollableFrame();
$mws->setwidget($mwsf);
# Fill this frame instead of $mw directly
my $mwf = Tkx::widget->new($mwsf->getframe);
for my $idx ( 1 .. 60 ) {
$mwf->new_checkbutton(
-text => $idx,
)->g_pack(-side=>'top', -anchor=>'w');
}
Tkx::MainLoop();
__END__
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs