Perl TK окно изменения размера - PullRequest
0 голосов
/ 23 апреля 2011

Можно ли автоматически изменить размер окна Tk в соответствии с шириной и высотой текста внутри текстового графика?

1 Ответ

1 голос
/ 23 апреля 2011

Вы можете легко измерить ширину текста в определенном шрифте:

$font = $widget->Font(....);              # Get the font however you want
$lineWidth = $font->measure($text);       # Do this for each line; take the max
$lineHeight = $font->metrics(-linespace); # Get the height of a line; x # lines

Добавьте немного отстояния для границ и т. Д. И используйте это для установки размера верхнего уровня:

$toplevel->configure(-width=>$width, -height=>$height);

Если вы хотите контролировать не верхний уровень, проще всего это сделать, поместив содержимое во фрейм и контролируя размер этого фрейма (тот же метод, те же параметры).Также имейте в виду, что если у вас слишком много строк или слишком длинных строк, они все равно не поместятся на экране.

...