【问题标题】:Perl TK resize windowPerl TK 调整窗口大小
【发布时间】:2011-04-22 22:07:10
【问题描述】:

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

【问题讨论】:

  • 告诉我们更多关于文本的信息。是单行吗?你想调整它的大小以使所有文本都适合一行吗?更好的是,将图像上传到imgur,其中包含您的代码正在绘制的窗口以及您喜欢它的外观的草图。
  • 脚本基本上输出C:\中所有目录的磁盘大小。我希望窗口的宽度和高度能够自动调整为文本图的正确宽度和高度(因此所有文本宽度和高度都适合屏幕而不滚动)。

标签: perl tk perltk


【解决方案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

为边框等添加一点slop,并使用它来设置toplevel的大小:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2012-04-07
    相关资源
    最近更新 更多