0

是否可以将 Tk 窗口的大小自动调整为文本图中文本的宽度和高度?

4

1 回答 1

1

您可以轻松测量某些文本在特定字体中的宽度:

$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);

如果它不是您想要控制的顶层,最简单的方法是将内容放在一个框架中并控制该框架的大小(相同的方法,相同的选项)。另请注意,如果行数过多或行数过长,则无论如何它都无法显示在屏幕上。

于 2011-04-23T11:18:40.310 回答