Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^2: Non resizable window

by Anonymous Monk
on Jul 16, 2013 at 06:03 UTC ( #1044513=note: print w/replies, xml ) Need Help??

in reply to Re: Non resizable window
in thread Non resizable window

Thanks for the replies. After looking into the manual, I changed the code as follows and finally got the desired function: could it be that resizable acts different in my perl or did I misunderstood what it is supposed to do? Thanks
#!/usr/local/bin/perl -w use strict; use Tk; require Tk::Pane; require Tk::BrowseEntry; require Tk::DialogBox; use warnings; use strict; use Tk; my $MW = MainWindow->new( -title => 'Habitat GUI', -name => 'Demo', ); #$MW->resizable(1,1); # not resizable in any direction $MW->minsize(200,400); $MW->maxsize(200,400); foreach my $txt (<DATA>) { chomp($txt); my $b = $MW->Button( -text => $txt, -width => 30, -height => 3, -command => sub {manipulate_link($txt)}, ); $b->pack(qw/-side top -expand yes -pady 3/); } MainLoop; __DATA__ Compile all Compile selected blocks Get selected blocks Put selected blocks Browse & Compare Exit

Replies are listed 'Best First'.
Re^3: Non resizable window
by kcott (Chancellor) on Jul 16, 2013 at 07:54 UTC
    "... could it be that resizable acts different in my perl ..."

    Seems unlikely; although, that question can best be answered when the versions of Perl and Tk that you're using are known.

    resizable() has worked that way for all of the current millenium. Learning Perl/Tk documents the same behaviour for Perl 5.003 and Tk 400.202 — that book was published in 1999.

    "... or did I misunderstood what it is supposed to do? ..."

    Possibly; although, that question can best be answered when your understanding of what it's supposed to do is known.

    Do you understand that the two arguments to resizable($x, $y) are boolean values? [$x indicating whether the width can be changed; $y indicating whether the height can be changed]

    Do you also understand that resizable() refers to interactive resizing (e.g. dragging the window border with the mouse) and that it does not refer to programmatic resizing (e.g. in your example code, -width will affect the size of the window)?

    Two final thoughts on this: see Tk::Wm - BUGS and how to work around them; and try calling resizable() as the last thing after all widgets are created and pack()ed (i.e. immediately before MainLoop is called).

    -- Ken

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1044513]
and a moth chases the moon...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2018-07-21 04:09 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (444 votes). Check out past polls.