【发布时间】:2016-06-08 09:49:51
【问题描述】:
我有一个弹出窗口,它是一个画布,我希望允许用户将其拖出到他们想要的任何大小,但是它可以折叠成非常小且无法使用的东西。有没有办法设置画布最小尺寸? (例如“wm minsize”)希望答案是不要将画布嵌入“窗口中”。
【问题讨论】:
我有一个弹出窗口,它是一个画布,我希望允许用户将其拖出到他们想要的任何大小,但是它可以折叠成非常小且无法使用的东西。有没有办法设置画布最小尺寸? (例如“wm minsize”)希望答案是不要将画布嵌入“窗口中”。
【问题讨论】:
画布的自然最小尺寸是 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 命令来控制整个顶层窗口的请求大小,但这是独立的;小部件的最小大小不是整个容器的最小大小,尽管它们可以交互。 )
【讨论】: