Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Tk label width to fit in text area

by Anonymous Monk
on Sep 11, 2017 at 11:40 UTC ( #1199082=perlquestion: print w/replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks, how we can fit in four labels in line with changing text area size with changing screen size. Say I have screen size 1280 and request text area width is 902, how can we figure out width of each label so all the four lables should be fit in perfectly in a line.also it should apply when screen size and text area size changes say..screen size is 1360 and requested/actual text area width is 958. Thanks, Kiran Pawar

Replies are listed 'Best First'.
Re: Tk label width to fit in text area
by kcott (Chancellor) on Sep 12, 2017 at 09:15 UTC

    It would be most useful if you provided an SSCCE that shed some light on the following:

    • What do you mean by "screen size"? See Tk::Widget. This has a number of *width and *height methods. The units of the values returned are either in pixels or millimetres.
    • What do you mean by "text area"? Tk::Text? This has a -width option, which you can query. The units of the values returned are in characters.
    • What do you mean by "label"? Tk::Label? This has a -width option, which you can query. The units of the values returned are dependent upon whatever is displayed in the widget.
    • What geometry manager are you using for your "text area" widget? Tk::pack? Tk::grid? Other?

    If you're using Tk::Text and Tk::Label, and the labels only display text, and all of those are using the same font, and your geometry management is set up such that Tk::Text resizes when its parent does, you could possibly bind a <Configure> event (see Tk::bind) to a callback that sets the width of Tk::Label widgets to be one quarter that of the Tk::Text widget.

    That's the simplest scenario. You may need additional calculations if there's padding or spacing involved. If the fonts are different, you'll need additional calculations to handle that: see Tk::Font.

    — Ken

      Ken,i really appreciate your reply in detail, let me revert back on this. Thanks..kiran pawar
Re: Tk label width to fit in text area
by Anonymous Monk on Sep 11, 2017 at 12:46 UTC
    Dont they do that by default with pack...?
      I am creating labels with windowCreate on the fly And embedding the same in text area... thanks
        Why? Turn off the wrap?
      Please note I am using grid for geometry management..
Re: Tk label width to fit in text area
by Anonymous Monk on Sep 12, 2017 at 04:35 UTC
    Update : With wrap off,next four lables are appendig to scroll horizontally. I want have each set of four label to be in new line of text area which would fit exactly in the textarea. Thanks
      Append a newline? \n

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1199082]
Approved by Corion
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (6)
As of 2017-10-20 09:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My fridge is mostly full of:

















    Results (260 votes). Check out past polls.

    Notices?