小学英语小知识 什么是堆栈?什么是流程?--鞋子布局经理

01

的06

The Stack

要有效使用任何GUI工具包,您必须了解其布局管理器(或几何管理器)。在Qt中,您有HBoxes和VBoxes,在Tk中您有Packer和Shoes,您有stacks and flows。它听起来很神秘但很简单。健康知识馆

堆栈就像名字所暗示的那样。它们垂直堆叠东西。如果将三个按钮堆叠在一起,它们将垂直堆叠,一个堆叠在一起。如果您在窗口中用完了房间,滚动条将出现在窗口的右侧,以便您查看窗口中的所有元素。

请注意,当它's说堆栈的按钮是"内部"时,它只是意味着它们是在传递给堆栈方法的块的内部创建的。在这种情况下,三个按钮是在块内部传递到堆栈方法时创建的,因此它们're"内部"堆栈。

鞋子:宽度=>200,:高度=>140 do
堆栈do
按钮"按钮1"
按钮"按钮2"
按钮"按钮3"
结束
结束

02

of 06

流量

A流动水平包装东西。如果在流程内部创建了三个按钮,则它们会出现在彼此旁边。

鞋子:宽度=>400,:高度=>140 do
流量do
按钮"按钮1"
按钮"按钮2"
按钮"按钮3"
结束
结束

03

of 06

主窗口是流量

主窗口本身就是一个流程。前面的例子可以在没有流程块的情况下编写,同样会发生同样的事情:三个按钮将并排创建。

鞋子:宽度=>400,:高度=>140 do
按钮"按钮1"
按钮"按钮2"
按钮"按钮3"
结束

119 04 120

of 06

溢流

在那里'了解流量还有一件重要的事情。如果你水平跑出空间,鞋子永远不会创建一个水平滚动条。相反,鞋子会在应用程序的"下一行"下一行创建元素。它'就像你在文字处理器中到达一行的末尾一样。文字处理器不会创建滚动条并让您继续键入页面,而是将文字放在下一行。

鞋子:widt=&&t;400,:height=&>140 Do140 Do140 do
按钮&\35; 34;按钮1&\#34;
按钮&\#34;按钮2&\#34;
按钮........................................................34;
按钮&\\\\\\\\\\>结束

05

of 06

尺寸小学英语小知识

到目前为止,我们还没有't在创建堆栈和流程时给出任何尺寸;它们've只需要尽可能多的空间。然而,尺寸可以以与尺寸相同的方式给出鞋子方法调用。此示例创建一个不像窗口那么宽的'并向其中添加按钮的流程。还给它一个边框样式,以便直观地识别流的位置。

鞋子:widt=&&t;400,:height=&t;140 do
flow:widt=>250 do
Boder red
button&\35; 34;Butto1&\#34;
button"
button&\#34;Butt3&\#34;
Buttot&&&&&&&&&&t;140 Do140 Do140 Do140 Do140 Do140 Do140>flow:Wiwiwidt=&&>250;250 Do250 Do250 Do250 Do250
174>174>Butter红色<174180>按钮"按钮6"
结束
结束

您可以通过红色边框看到流程没有't全部扩展通往窗口边缘的路。当第三个按钮将被创建时,那里没有足够的空间,所以鞋子向下移动到下一行。

06

of 06

堆流,流堆

流和堆栈don't仅包含应用程序的可视元素,它们还可以包含其他流和堆栈。通过组合流程和堆栈,您可以相对容易地创建复杂的视觉元素布局。

如果您是Web开发者,您可能会注意到这与CSS布局引擎非常相似。这是故意的。鞋子受到网络的严重影响。事实上,鞋子的基本视觉元素之一就是"链接"你甚至可以将鞋子应用程序安排到"页面"

在此示例中,将创建包含3个堆栈的流。这将创建一个3列布局,每列中的元素垂直显示(因为每列都是一个堆栈)。堆栈的宽度不像前面的例子那样是像素宽度,而是33%。这意味着每列将占应用程序中可用水平空间的33%。

鞋子:widt=&>400,:height=>140 do
flow do
stack:widt=&>&&35; 39;33%'do
button"button 1&\#34;
button \35; 34;button 2&\35; 34;
Buttot&&&&&&t;140 do
流动do
堆栈:宽度=&>&&'33%33%33%&&\>堆栈:宽度=>'33%'do
para"这是段落"+
"文本,它将环绕&\#34;+[b r]&\#34;并填写该列。"
end
stack:widt=&&t;&\#39;33%39;do
按钮&\\\35;34;按钮1 \\#34;
按钮\35;34;++;\35;34;+[b r]+[b r]&35;#34;并填充该列。&\\35; 34;
结束
结束
结束