Python Qt GUI設(shè)計:窗口布局管理方法【基礎(chǔ)】(基礎(chǔ)篇—5)

Qt Designer提供4種窗口布局方式,分別如下:

Vertical Layout(垂直布局)芋齿,控件默認(rèn)按照從上到下的順序進(jìn)行縱向添加;

Horizontal Layout(水平布局),控件默認(rèn)按照從左到右的順序進(jìn)行橫向添加样刷;

Grid Layout(柵格布局),將窗口控件放入一個網(wǎng)格之中览爵,然后將它們合理地劃分成若干行(row)和列(column)置鼻,并把其中的每個窗口控件放置在合適的單元(cell)中,這里的單元即是指由行和列交叉所劃分出來的空間蜓竹;

Form Layout(表單布局)箕母,控件以兩列的形式布局在表單中,其中左列包含標(biāo)簽俱济,右列包含輸入控件嘶是。

它們位于Qt Designer主窗口左側(cè)區(qū)域的Widget Box(工具箱)里的Layouts(布局)欄中,如下圖所示:

通常進(jìn)行布局有兩種方式:一種是通過布局管理器進(jìn)行布局蛛碌,另一種是通過容器控件進(jìn)行布局聂喇。

1、布局管理器進(jìn)行布局

以垂直布局為例蔚携,打開Qt Designer希太,新建一個QWidget控件,然后在其中放入兩個按鈕(PushButton)子控件酝蜒。

選中這兩個控件誊辉,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇"布局"的子菜單就可以指定該控件的布局方式了亡脑,此處選擇“垂直布局”堕澄,如下圖所示:

2、容器控件進(jìn)行布局

所謂容器控件霉咨,就是指能夠容納子控件的控件蛙紫。使用容器控件,目的是將容器控件中的控件歸為一類躯护,以有別于其他控件。當(dāng)然丽涩,容器控件也可以對其子控件進(jìn)行布局棺滞,只不過沒有布局管理器常用。使用容器控件最大的作用是:美觀和方便管理矢渊,例如將10個按鈕(PushButton)子控件放在同一個容器控件中继准,拖動容器控件即可同時移動10個按鈕(PushButton)子控件。

Qt Designer主窗口左側(cè)區(qū)域的Widget Box(工具箱)里的Containers(容器)欄中矮男,如下圖所示:

具體使用可參見官網(wǎng)說明移必,這里不再贅述。

從左側(cè)容器(Containers)導(dǎo)航欄拖入一個Frame控件毡鉴,F(xiàn)rame控件放置一些常用的表單崔泵、按鈕等控件秒赤,在Frame控件中放入三個Button控件,并對其進(jìn)行重命名憎瘸,還是以垂直布局入篮,如下圖所示:

此時拖動Frame控件即可便捷控制三個Button控件,并且在右側(cè)對象查看器中可見幌甘,三個Button控件對象是在Frame控件子級潮售,當(dāng)創(chuàng)建的對象較多時就非常方便管理了。

3锅风、geometry屬性:控件絕對布局

最后再聊聊絕對布局酥诽。

絕對布局方法非常簡單,在Qt Designer主窗口右側(cè)區(qū)域?qū)傩詸谀吭O(shè)置相關(guān)控件的geometry屬性即可皱埠。geometry屬性在PyQt中主要用來設(shè)置控件在窗口中的絕對坐標(biāo)與控件自身的大小肮帐。例如,以下Button控件的geometry屬性漱逸,如下圖所示:

參數(shù)說明如下所示:

X:110泪姨,按鈕控件左上角,距離主窗口左側(cè)為110px饰抒;

Y:170肮砾,按鈕控件左上角,距離主窗口上側(cè)為170px袋坑;

寬度:93仗处,按鈕控件寬度為93px;

高度:28枣宫,按鈕控件高度為28px婆誓。

示意圖如下所示:

可以隨意更改這些屬性值來查看控件在窗口中的位置變化,也可以通過更改控件在窗口中的位置及其大小來查看屬性值的變化也颤,以此更深刻地理解屬性的含義洋幻。

4、sizePolicy屬性:微調(diào)優(yōu)化控件布局

sizePolicy屬性的作用是:若窗口控件在布局管理器中的布局不能滿足我們的需求翅娶,那么就可以設(shè)置該窗口控件的sizePolicy屬性來實現(xiàn)布局的微調(diào)文留。

介紹sizePolicy屬性之前,需要先講講sizeHint和minisizeHint屬性竭沫。每個窗口控件都有屬于自己的兩個尺寸:一個是sizeHint屬性(尺寸提示)燥翅,它是窗口控件的期望尺寸;另一個是minimumSize屬性(最小尺寸)蜕提,它是窗口控件壓縮時所能夠被壓縮到的最小尺寸森书。

sizePolicy屬性也是每個窗口控件所特有的屬性,不同的窗口控件的sizePolicy可能不同。例如凛膏,以下Button控件的默認(rèn)sizePolicy屬性能犯,如下圖所示:

水平策略和垂直策略的參數(shù)解釋如下所示:

Fixed:窗口控件具有其sizeHint所提示的尺寸且尺寸不會再改變轧粟;

Minimum:窗口控件的sizeHint所提示的尺寸就是它的最小尺寸;該窗口控件不能被壓縮得比這個值小,但可以變得更大杉适;

Maximum:窗口控件的sizeHint所提示的尺寸就是它的最大尺寸蕊玷;該窗口控件不能變得比這個值大氓英,但它可以被壓縮到minisizeHint給定的尺寸大胁雎稹;

Preferred:窗口控件的sizeHint所提示的尺寸就是它的期望尺寸胯府;該窗口控件可以縮小到minisizeHint所提示的尺寸介衔,也可以變得比sizeHint所提示的尺寸還要大;

Expanding :窗口控件可以縮小到minisizeHint所提示的尺寸骂因,也可以變得比sizeHint所提示的尺寸大炎咖,但它希望能夠變得更大;

MinimumExpanding:窗口控件的sizeHint所提示的尺寸就是它的最小尺寸寒波;該窗口控件不能被壓縮得比這個值還小乘盼,但它希望能夠變得更大;

lgnored:無視窗口控件的sizeHint和minisizeHint所提示的尺寸俄烁,按照默認(rèn)來設(shè)置绸栅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市页屠,隨后出現(xiàn)的幾起案子粹胯,更是在濱河造成了極大的恐慌,老刑警劉巖辰企,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件风纠,死亡現(xiàn)場離奇詭異,居然都是意外死亡牢贸,警方通過查閱死者的電腦和手機(jī)竹观,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潜索,“玉大人臭增,你說我怎么就攤上這事“锉伲” “怎么了速址?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵玩焰,是天一觀的道長由驹。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么蔓榄? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任并炮,我火速辦了婚禮,結(jié)果婚禮上甥郑,老公的妹妹穿的比我還像新娘逃魄。我一直安慰自己,他們只是感情好澜搅,可當(dāng)我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布伍俘。 她就那樣靜靜地躺著,像睡著了一般勉躺。 火紅的嫁衣襯著肌膚如雪癌瘾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天饵溅,我揣著相機(jī)與錄音妨退,去河邊找鬼。 笑死蜕企,一個胖子當(dāng)著我的面吹牛咬荷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轻掩,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼幸乒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了放典?” 一聲冷哼從身側(cè)響起逝变,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奋构,沒想到半個月后壳影,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡弥臼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年宴咧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片径缅。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡掺栅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出纳猪,到底是詐尸還是另有隱情氧卧,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布氏堤,位于F島的核電站沙绝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闪檬,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一星著、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粗悯,春花似錦虚循、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至衫哥,卻和暖如春剪廉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炕檩。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工斗蒋, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人笛质。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓泉沾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妇押。 傳聞我的和親對象是個殘疾皇子跷究,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容