小學(xué)英語小知識(shí) 什么是堆棧?什么是流程?--鞋子布局經(jīng)理

01

的06

The Stack

要有效使用任何GUI工具包,您必須了解其布局管理器(或幾何管理器)。在Qt中,您有HBoxes和VBoxes,在Tk中您有Packer和Shoes,您有stacks and flows。它聽起來很神秘但很簡單。健康知識(shí)館

堆棧就像名字所暗示的那樣。它們垂直堆疊東西。如果將三個(gè)按鈕堆疊在一起,它們將垂直堆疊,一個(gè)堆疊在一起。如果您在窗口中用完了房間,滾動(dòng)條將出現(xiàn)在窗口的右側(cè),以便您查看窗口中的所有元素。

請注意,當(dāng)它's說堆棧的按鈕是"內(nèi)部"時(shí),它只是意味著它們是在傳遞給堆棧方法的塊的內(nèi)部創(chuàng)建的。在這種情況下,三個(gè)按鈕是在塊內(nèi)部傳遞到堆棧方法時(shí)創(chuàng)建的,因此它們're"內(nèi)部"堆棧。

鞋子:寬度=>200,:高度=>140 do
堆棧do
按鈕"按鈕1"
按鈕"按鈕2"
按鈕"按鈕3"
結(jié)束
結(jié)束

02

of 06

流量

A流動(dòng)水平包裝東西。如果在流程內(nèi)部創(chuàng)建了三個(gè)按鈕,則它們會(huì)出現(xiàn)在彼此旁邊。

鞋子:寬度=>400,:高度=>140 do
流量do
按鈕"按鈕1"
按鈕"按鈕2"
按鈕"按鈕3"
結(jié)束
結(jié)束

03

of 06

主窗口是流量

主窗口本身就是一個(gè)流程。前面的例子可以在沒有流程塊的情況下編寫,同樣會(huì)發(fā)生同樣的事情:三個(gè)按鈕將并排創(chuàng)建。

鞋子:寬度=>400,:高度=>140 do
按鈕"按鈕1"
按鈕"按鈕2"
按鈕"按鈕3"
結(jié)束

119 04 120

of 06

溢流

在那里'了解流量還有一件重要的事情。如果你水平跑出空間,鞋子永遠(yuǎn)不會(huì)創(chuàng)建一個(gè)水平滾動(dòng)條。相反,鞋子會(huì)在應(yīng)用程序的"下一行"下一行創(chuàng)建元素。它'就像你在文字處理器中到達(dá)一行的末尾一樣。文字處理器不會(huì)創(chuàng)建滾動(dòng)條并讓您繼續(xù)鍵入頁面,而是將文字放在下一行。

鞋子:widt=&&t;400,:height=&>140 Do140 Do140 do
按鈕&\35; 34;按鈕1&\#34;
按鈕&\#34;按鈕2&\#34;
按鈕........................................................34;
按鈕&\\\\\\\\\\>結(jié)束

05

of 06

尺寸小學(xué)英語小知識(shí)

到目前為止,我們還沒有't在創(chuàng)建堆棧和流程時(shí)給出任何尺寸;它們've只需要盡可能多的空間。然而,尺寸可以以與尺寸相同的方式給出鞋子方法調(diào)用。此示例創(chuàng)建一個(gè)不像窗口那么寬的'并向其中添加按鈕的流程。還給它一個(gè)邊框樣式,以便直觀地識(shí)別流的位置。

鞋子: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"
結(jié)束
結(jié)束

您可以通過紅色邊框看到流程沒有't全部擴(kuò)展通往窗口邊緣的路。當(dāng)?shù)谌齻€(gè)按鈕將被創(chuàng)建時(shí),那里沒有足夠的空間,所以鞋子向下移動(dòng)到下一行。

06

of 06

堆流,流堆

流和堆棧don't僅包含應(yīng)用程序的可視元素,它們還可以包含其他流和堆棧。通過組合流程和堆棧,您可以相對容易地創(chuàng)建復(fù)雜的視覺元素布局。

如果您是Web開發(fā)者,您可能會(huì)注意到這與CSS布局引擎非常相似。這是故意的。鞋子受到網(wǎng)絡(luò)的嚴(yán)重影響。事實(shí)上,鞋子的基本視覺元素之一就是"鏈接"你甚至可以將鞋子應(yīng)用程序安排到"頁面"

在此示例中,將創(chuàng)建包含3個(gè)堆棧的流。這將創(chuàng)建一個(gè)3列布局,每列中的元素垂直顯示(因?yàn)槊苛卸际且粋€(gè)堆棧)。堆棧的寬度不像前面的例子那樣是像素寬度,而是33%。這意味著每列將占應(yīng)用程序中可用水平空間的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
流動(dòng)do
堆棧:寬度=&>&&'33%33%33%&&\>堆棧:寬度=>'33%'do
para"這是段落"+
"文本,它將環(huán)繞&\#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;
結(jié)束
結(jié)束
結(jié)束