13.9. Size of WidgetYou can use the following methods to find out the size of a widget in several different ways. 13.9.1. Widget's GeometryThe geometry method returns the geometry string for the widget in the form of width x height + x + y. $geom = $widget->geometry; The geometry string was discussed in detail in Chapter 11, " Frame, MainWindow,and Toplevel Widgets". Geometry values are typically specified in pixels. An exception is a child widget that uses characters as its normal units, such as a Text or Listbox, with -setgrid => 1 specified. In this case, the window manager forces a geometry in integral lines and characters. 13.9.2. Requested HeightThe reqheight method returns the height of the widget: $height = $widget->reqheight; 13.9.3. Requested WidthThe reqwidth method returns the width of the widget: $width = $widget->reqwidth; 13.9.4. Actual WidthTo get the width of the widget as it currently is drawn, use the width method: $cur_width = $widget->width; When the widget is first created, width will return a 1 until the application has finished drawing everything. After that, it will return the actual width of the widget. 13.9.5. Actual HeightTo get the current height, use the height method: $h = $widget->height; Just like the width method, height returns a 1 when the widget is first created. You can use the update or afterIdle method to force everything else to happen and then call height or width to get the finished values. Copyright © 2002 O'Reilly & Associates. All rights reserved. |
|