Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

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


Comment on Re^2: Non resizable window
Download Code
Re^3: Non resizable window
by kcott (Abbot) 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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1044513]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (7)
As of 2014-09-03 05:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (35 votes), past polls