Qt Designer 布局 (2) PyQt學(xué)習(xí)基礎(chǔ)
Qt Designer 布局 (2) PyQt學(xué)習(xí)基礎(chǔ)是本文介紹的內(nèi)容,接著Qt Designer 布局 (1) PyQt學(xué)習(xí)基礎(chǔ),繼續(xù)介紹,我們先來看內(nèi)容。
三、完成窗口的布局Layout
關(guān)于窗口的布局,不同人可能有不同的喜好,下面簡單的演示一下。
首先,我們把Find what和replace With的兩個(gè)Label和兩個(gè)Line Edit布局到一起,我們按住shift鍵,鼠標(biāo)選中這四個(gè)widgets。然后點(diǎn)擊菜單Form->Lay Out in a Grid項(xiàng)(或者點(diǎn)擊toolbar button),四個(gè)widgets會用紅線圈起來,當(dāng)然這些紅線在程序運(yùn)行時(shí)是不會顯示的。
然后選擇兩個(gè)CheckBox,點(diǎn)擊菜單Form->Lay Out Horizontally,水平布局。
同樣我們也把下面的一個(gè)Label和ComboBox設(shè)為水平布局。
如上所示,現(xiàn)在已經(jīng)有三個(gè)layout了,一個(gè)格型布局,兩個(gè)水平布局。
下面我們把這三個(gè)布局放到一個(gè)布局里面,我們通過鼠標(biāo)拖拽來選定三個(gè)layout,只要覆蓋到layout就行,注意不要接觸來Vertical Line,但是要接觸到Vertical spacer,選中以后,點(diǎn)擊菜單Form->Lay Out Vertically。
然后用同樣的方法,拖拽選中右邊的四個(gè)button和一個(gè)Vertical spacer,選中以后,點(diǎn)擊菜單Form->Lay Out Vertically。
最終我們有了兩個(gè)垂直的layouts,和中間一個(gè)Vertical Line,如下圖所示:
***,我們不要選中任何東西,點(diǎn)擊菜單Form->Lay Out Horizontally完成最終Form的布局,最終結(jié)果如下圖所示:
可以看到,比上面有了些變化,窗口布局的非常合理和漂亮了。
可以通過預(yù)覽來看一看。
四、設(shè)計(jì)工作的一些收尾
我們發(fā)現(xiàn)Label的buddy我們還沒有弄好,所以在label中會顯示我們輸入的”&”符號,下面我們編輯一下。點(diǎn)擊菜單Edit->Edit Buddies 轉(zhuǎn)到buddy 模式。然后我們?yōu)閘abel選擇伙伴buddy,選定一個(gè)label,然后把它拖到想綁定的buddy上,比如選定Find what Label,然后把它拖到Line Edit上。類似的我們可以綁定三對buddy,如下圖所示:
按F3可以離開buddy模式,進(jìn)入到窗口編輯模式。
同樣,我們可以設(shè)置Tab的順尋,通過點(diǎn)擊Edit->Edit Tab Order,進(jìn)入到編輯tab order的模式,如下圖。然后通過點(diǎn)擊來改變順序,同樣按F3可以退出編輯模式.
關(guān)于button方法的綁定,其中Find,Replace,Replace All三個(gè),需要綁定用戶自己寫的方法,而colse按鈕可以綁定到對話框的reject(),下面看看如何綁定:
點(diǎn)擊菜單Edit->Edit Signal/Slots,然后點(diǎn)擊close button拖一下到form上,放開鼠標(biāo)左鍵,會彈出一個(gè)Configure connection的對話框,從左邊列表框中點(diǎn)擊clicked(),從右邊點(diǎn)擊reject(),然后點(diǎn)擊OK,結(jié)束,如下圖。
按F3離開模式。
***可以給這個(gè)對話框命名,ObjectName設(shè)為:FindAndReplaceDlg,把windowTitle設(shè)為“Find and Replace”。其中的ObjectName是我們在程序中要用到這個(gè)對話框時(shí),他的類名,或者import的東西。
保存為findandreplacedlg.ui文件。
五,轉(zhuǎn)化ui文件為py文件
打開cmd命令行,在findandreplacedlg.ui文件所在的目錄運(yùn)行下面的命令:
- pyuic4 -o ui_findandreplacedlg.py findandreplacedlg.ui
就會在同樣的目錄生成一個(gè)名為ui_findandreplacedlg.py的文件,然后我們就可在別的工程中import這個(gè)文件來產(chǎn)生我們想要的對話框了。
參考資料《Rapid GUI Programing with PyQt》chapter 7
小結(jié):關(guān)于Qt Designer 布局 (2) PyQt學(xué)習(xí)基礎(chǔ)的內(nèi)容介紹完了,希望本文對你有所幫助,請繼續(xù)深入了解 Qt Designer 布局 (3) PyQt學(xué)習(xí)基礎(chǔ)。