PyQT5速成教程-4 Qt Designer實(shí)戰(zhàn)[上]

PyQT5速成教程-

本文由 沈慶陽 所有,轉(zhuǎn)載請(qǐng)與作者取得聯(lián)系!

前言

在前面幾節(jié)的學(xué)習(xí)中醋安,我們對(duì)PyQt的基本使用召夹、Qt Designer與Python編碼的工作流程有了基本的學(xué)習(xí)宝当。同時(shí)也掌握了Qt Designer中的布局方式和使用Python代碼來實(shí)現(xiàn)布局审胚。
讓我們?cè)谙旅娴臅r(shí)間里匈勋,通過Qt Designer來設(shè)計(jì)一個(gè)計(jì)算整數(shù)的計(jì)算器吧。

使用網(wǎng)格布局(Grid Layout)

首先分析我們的整數(shù)計(jì)算器需要的一些按鈕:
數(shù)字鍵:0-9共10個(gè)膳叨。
操作符:+ - * / = CE共6個(gè)
當(dāng)我們?cè)赒t Designer的主窗口中創(chuàng)建上述16個(gè)按鈕之后洽洁,按照4行4列的順序進(jìn)行擺放。


擺放按鈕

并且修改按鈕的屬性中的objectName為相對(duì)于的名稱菲嘴。如數(shù)字0的objectName設(shè)置為Num_0饿自,操作符+的objectName設(shè)置為OP_plus。對(duì)于按鈕的顯示名稱的修改龄坪,在主窗口中雙擊相應(yīng)按鈕則可以快速修改昭雌。
由于計(jì)算器中的按鈕是正方形的(我們通常會(huì)選擇正方形),而且不想讓這些按鈕根據(jù)窗口的大小進(jìn)行變化健田,通過全選16個(gè)按鈕(在主窗口中使用鼠標(biāo)左鍵拖出選擇框烛卧,選中16個(gè)按鈕)在右側(cè)找到mininumSize和maximumSize屬性。點(diǎn)擊其左面的箭頭符號(hào)展開選項(xiàng)抄课,將其寬和高固定為60唱星。這樣就不會(huì)因?yàn)榭s放窗口而造成按鈕的大小變化了雳旅。


屬性

在對(duì)所有按鈕完成相應(yīng)操作之后跟磨,我們選中16個(gè)按鈕,點(diǎn)擊右鍵攒盈,使用網(wǎng)格布局來實(shí)現(xiàn)布局抵拘。
通過網(wǎng)格布局實(shí)現(xiàn)的計(jì)算器鍵盤

使用Spacer增加空白間隔

我們?cè)谟?jì)算器上面新建一個(gè)Line Edit用來顯示輸入結(jié)果與計(jì)算結(jié)果。


新建一個(gè)Line Edit

通過在空白地方右鍵型豁,對(duì)主窗口使用Vertical Lay Out僵蛛。


垂直布局主窗口

此時(shí)尚蝌,我們實(shí)現(xiàn)了一個(gè)計(jì)算器的布局。但顯示框與下面的鍵盤舉例太過近了充尉。這時(shí)我們便需要使用左側(cè)工具箱內(nèi)的Spacer控件飘言。
Spacer控件

Spacer顧名思義,分隔器驼侠∽撕瑁可以通過以占位的形式來將布局中的不同控件分開部分舉例。
此時(shí)倒源,我們拖動(dòng)一個(gè)Vertical Spacer到Line Edit與下面的鍵盤之間苛预。同樣,Horizontal Spacer也可以用來水平地分離控件之間的距離笋熬。


Vertical Spacer分隔布局之中的控件
热某、
雖然Spacer在我們的Qt Designer編輯器中是以藍(lán)色的類似彈簧的外觀存在的,但是在真正的窗體中胳螟,Spacer是隱形的昔馋。
真正地程序中Spacer是看不見的

但這時(shí)的Spacer大小和Line Edit的大小都不是我想要的,而且也無法通過鼠標(biāo)來拖動(dòng)糖耸。如果想要改變這些绒极,則需要進(jìn)一步了解這些控件的一些屬性。

sizePolicy 尺寸策略

在Qt Designer中蔬捷,控件的尺寸是可以變化的垄提。每個(gè)控件都擁有sizeHint和minisizeHint兩個(gè)尺寸。其一周拐,sizeHint即尺寸提示铡俐;其二,minisizeHint則是最小尺寸妥粟。尺寸提示也是控件的期望尺寸审丘,最小尺寸即窗口可以被壓縮到的最小的尺寸。sizePolicy與sizeHint和minisizeHint息息相關(guān)勾给。
對(duì)于布局管理器中的布局無法滿足我們的要求的時(shí)候滩报,sizePolicy屬性便派上了用場。


Line Edit的sizePolicy屬性

sizePolicy可以實(shí)現(xiàn)控件的微調(diào)播急。sizePolicy中共有如下幾種水平和垂直策略脓钾。


sizePolicy中的策略
策略 中文 含義
Fixed 固定 窗口控件具有sizeHint提示的尺寸且尺寸不變
Minimum 最小 窗口控件的sizeHint提示的尺寸即最小尺寸,窗口控件不能比這個(gè)值小桩警,但是可以變大
Maximum 最大 窗口控件的sizeHint提示的尺寸即最大尺寸可训,窗口控件不能比這個(gè)值大,但是可以壓縮到minisizeHint的尺寸
Preferred 期望 窗口控件的sizeHint提示的尺寸是期望的尺寸,可以壓縮到minisizeHint尺寸握截,也可以比sizeHint尺寸更大
MinimumExpanding 最小擴(kuò)展 窗口控件的sizeHint提示的尺寸是最小尺寸飞崖,不能縮得比這個(gè)尺寸小,但是這個(gè)控件期望可以比這個(gè)尺寸大
Expanding 擴(kuò)展 窗口控件可以縮小到minisizeHint的尺寸谨胞,也可以比sizeHint的的尺寸大固歪,但期望是更大
Ignored 忽略 無視窗口控件的sizeHint與minisizeHint,按照默認(rèn)來設(shè)置

在sizePolicy的Horizontal Policy和Vertical Policy下面還有Horizontal Stretch和Vertical Stretch兩個(gè)屬性胯努。

讓我們找到Spacer昼牛,并修改其屬性的Height為10。


Spacer的屬性

并將其sizeType修改為Fixed固定康聂。此時(shí)贰健,觀察左面的計(jì)算器的主界面顯示欄Line Edit與下面的鍵盤之間的間距變小了。


修改Spacer大小后的界面

在這一節(jié)中恬汁,我們使用Qt Designer設(shè)計(jì)了一個(gè)計(jì)算器的界面伶椿,并且講解了一些布局的方法。在下一節(jié)中氓侧,我們將會(huì)講解如何添加一些高級(jí)的Qt組件來實(shí)現(xiàn)特定的功能脊另。

覺得寫的不錯(cuò)的朋友可以點(diǎn)一個(gè) 喜歡? ~
謝謝你的支持!·

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末约巷,一起剝皮案震驚了整個(gè)濱河市偎痛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌独郎,老刑警劉巖踩麦,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異氓癌,居然都是意外死亡谓谦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門贪婉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來反粥,“玉大人,你說我怎么就攤上這事疲迂〔哦伲” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵尤蒿,是天一觀的道長郑气。 經(jīng)常有香客問我,道長优质,這世上最難降的妖魔是什么竣贪? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任军洼,我火速辦了婚禮巩螃,結(jié)果婚禮上演怎,老公的妹妹穿的比我還像新娘。我一直安慰自己避乏,他們只是感情好爷耀,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拍皮,像睡著了一般歹叮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铆帽,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天咆耿,我揣著相機(jī)與錄音,去河邊找鬼爹橱。 笑死萨螺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的愧驱。 我是一名探鬼主播慰技,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼组砚!你這毒婦竟也來了吻商?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤糟红,失蹤者是張志新(化名)和其女友劉穎艾帐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盆偿,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掩蛤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陈肛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揍鸟。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖句旱,靈堂內(nèi)的尸體忽然破棺而出阳藻,到底是詐尸還是另有隱情,我是刑警寧澤谈撒,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布腥泥,位于F島的核電站,受9級(jí)特大地震影響啃匿,放射性物質(zhì)發(fā)生泄漏蛔外。R本人自食惡果不足惜蛆楞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夹厌。 院中可真熱鬧豹爹,春花似錦、人聲如沸矛纹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽或南。三九已至孩等,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間采够,已是汗流浹背肄方。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蹬癌,地道東北人权她。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像冀瓦,于是被迫代替她去往敵國和親伴奥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359