有没有办法设置tcl/tk画布的minsize?

有没有办法设置tcl/tk画布的minsize?,tcl,tk,Tcl,Tk,我有一个弹出窗口,它是一个画布,我希望允许用户将其拖出到他们想要的任何大小,但是它可以折叠到非常小且无法使用的地方。有没有办法设置画布尺寸?(如“wm minsize”)希望答案不是“在窗口中”嵌入画布。画布的自然最小尺寸为1×1 通常,画布的实际最小大小由几何体管理器设置;由于大多数情况下,您希望使用网格来包含画布(这样您就可以正确排列滚动条),因此设置相关行和列的最小大小是关键: set master . set canvas .canv # Go for a minimum size o

我有一个弹出窗口,它是一个画布,我希望允许用户将其拖出到他们想要的任何大小,但是它可以折叠到非常小且无法使用的地方。有没有办法设置画布尺寸?(如“wm minsize”)希望答案不是“在窗口中”嵌入画布。

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

通常,画布的实际最小大小由几何体管理器设置;由于大多数情况下,您希望使用
网格
来包含画布(这样您就可以正确排列滚动条),因此设置相关行和列的最小大小是关键:

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
命令来控制请求的整个顶级窗口的大小,但这是独立的;小部件的最小大小不是整个容器的最小大小,尽管它们可以交互。)