有没有办法设置tcl / tk canvas minsize?

时间:2016-06-08 09:49:51

标签: tcl tk

我有一个弹出窗口,这是一个画布,我希望允许用户将其拖出到他们希望的任何大小,但是它可能会崩溃到非常小且无法使用的东西。有没有办法设置画布minsize? (例如喜欢“wm minsize”)希望答案不是将画布“嵌入窗口”。

1 个答案:

答案 0 :(得分:1)

画布的自然最小尺寸为1×1。

通常,画布的实际最小大小由几何管理器设置;因为大多数时候你想使用grid来包含画布(所以你可以正确安排滚动条),设置相关行和列的最小尺寸是关键:

set master .
set canvas .canv

# Go for a minimum size of 400x200
grid columnconfigure $master $canvas -minsize 400
grid rowconfigure    $master $canvas -minsize 200

pack GM不允许您指定最小尺寸;它使用没有该概念的布局模型。 place可让您直接说出所有内容,但在大多数情况下并没有真正帮助。如果您将画布嵌入另一个小部件(例如,在文本小部件中),则可能还有其他选项。

请注意,您不能实际强制系统遵守您提供的最小尺寸指令。它们只是(非常强大)的暗示。 (您可能还需要查看wm minsize命令来控制整个顶层窗口的请求大小,但这是独立的;小部件的最小大小不是整个容器的最小大小,尽管它们可以交互。)