pyqt5 Qt Designer的設(shè)計(jì)符合MVC的架構(gòu),其實(shí)現(xiàn)了視圖和邏輯的分離,從而實(shí)現(xiàn)了開(kāi)發(fā)的便捷。下面分享的是pyqt5 Qt Designer漢化補(bǔ)丁文件。
pyqt5 Qt Designer漢化文件安裝說(shuō)明
將designer_zh_CN.qm復(fù)制到以下3個(gè)路徑的translations文件夾,沒(méi)有的話手動(dòng)創(chuàng)建:
解釋器目錄\Lib\site-packages\PyQt5\Qt\translations\
解釋器目錄\Lib\site-packages\pyqt5_tools\Qt\translations\
解釋器目錄\Lib\site-packages\pyqt5_tools\Qt\bin\translations\
設(shè)計(jì)窗體方法
先create mainWindows窗體
默認(rèn)左邊是控件欄,提供了很多空間類,我們可以直接拖放到widget中看到效果。
每個(gè)空間都有自己的名稱,提供不同的功能,比如常用的按鈕、輸入框、單選、文本框等等。
右邊是對(duì)窗口及控件的各種調(diào)整、設(shè)置、添加資源(列如:圖片)、動(dòng)作。還可以直接編輯Qt引以為豪的信號(hào)槽(signal和slot)。
預(yù)覽窗口:點(diǎn)窗體form--預(yù)覽preview(Ctrl+R)
Note:有了Qt Designer使得我們?cè)诔绦蛟O(shè)計(jì)中更快的能開(kāi)發(fā)設(shè)計(jì)出程序界面,避免了用純代碼來(lái)寫(xiě)一個(gè)窗口的繁瑣,同時(shí)PyQt支持界面與邏輯分離,這對(duì)于新手來(lái)說(shuō)無(wú)疑是個(gè)最大的福音,當(dāng)然要做出華麗的界面還是要學(xué)代碼的。至少Q(mào)t Designer為我們提供了一些解決方法,另外我們也可以通過(guò)Qt Designer生成的代碼來(lái)學(xué)習(xí)一些窗口控件的用法。
Qt Designer窗口布局Layouts
Vertical Layout 縱向布局
Horizontal Layout 橫向布局
Grid Layout 柵格布局
Form Layout 在窗體布局中布局
將布局Layouts拖動(dòng)到窗體上會(huì)有紅色框來(lái)顯示(中間窗體中的四個(gè)小紅框就是),Layout的一些屬性可以通過(guò)屬性編輯器來(lái)控制,一般包括:上下左右邊距間隔,空間之間間隔等。
窗體層次
使用布局之前,我們得對(duì)層次要有個(gè)了解,在程序設(shè)計(jì)中一般用父子關(guān)系來(lái)表示。當(dāng)然有過(guò)平面設(shè)計(jì)經(jīng)驗(yàn)的童鞋對(duì)分層應(yīng)該有所了解,這里我們還需要將層分成層次。其實(shí)就像python中規(guī)定的代碼縮進(jìn)量代表不同層次的道理差不多。
從對(duì)象查看器中我們可以方便的看出窗體(Form)--布局(Layout)--控件(這里是PushButton按鈕)之間的層次關(guān)系。Form窗口一般作為頂層顯示,然后使用Layout將控件按照我們想要的方式規(guī)劃開(kāi)來(lái)。
Note:
1. 上面的布局生成過(guò)程:拖一個(gè)Grid layout, 再拖一個(gè)vertical layout,再拖一個(gè)horizontal layout(注意在grid layout右邊緣變成藍(lán)色時(shí)松開(kāi)鼠標(biāo)左鍵就可以將grid layout分成兩邊的不同子布局了),最后在兩邊子布局中添加button。
2. 通常我們使用柵格布局作為頂層布局,將控件放置好之后可以通過(guò)右鍵--布局--柵格布局,將布局充滿整個(gè)窗體。我們可以先放入控件,然后ctrl選中多個(gè)控件,然后點(diǎn)擊工具欄上快速布局工具進(jìn)行布局。
轉(zhuǎn)換Qt Designer UI文件為py文件
Qt Designer設(shè)計(jì)出來(lái)的文件保存后默認(rèn)為ui文件,里面包含的類css布局設(shè)計(jì)語(yǔ)言,如果想要查看代碼我們還需要將它轉(zhuǎn)換(編譯)成py文件
1. 如果pycharm經(jīng)過(guò)PyQt5教程 - pythonQt的安裝和配置及版本間差異配置,則通過(guò)ui文件右鍵> external tools > PyUIC可以便捷的對(duì)UI進(jìn)行轉(zhuǎn)化
運(yùn)行PyUIC時(shí),不要點(diǎn)擊在菜單欄中tools > ex... > PyUIC,而是右鍵點(diǎn)擊.ui文件再操作,并且要注意ui文件所在文件夾下有一個(gè)同名的.py文件,否則這樣會(huì)修改當(dāng)前打開(kāi)的py文件,而不是ui文件對(duì)應(yīng)的同名.py文件,整個(gè)打開(kāi)的py文件就會(huì)永久修改不能恢復(fù)(有時(shí)可以ctrl+恢復(fù))。
最后,為了防止不用PyUIC時(shí),不小心點(diǎn)到,可以在setting中的external tools中,將PyUIC前面的√去掉,這樣菜單欄中就不會(huì)出現(xiàn)了。
2. 可以使用一條DOS命令來(lái)完成
D:\Python3.4.2\Lib\site-packages\PyQt5\pyuic5.bat ***.ui -o ***.py
3. 更可以將當(dāng)前文件夾下所有ui轉(zhuǎn)換成py文件:
for /f "delims=" %%i in ('dir /b /a-d /s *.ui') do D:\Python33\Lib\site-packages\PyQt5\pyuic5.bat %%i -o %%i.py
PyQt支持用LoadUi方法直接加載ui文件,當(dāng)然我們通過(guò)轉(zhuǎn)換后可以方便學(xué)習(xí)PyQt窗體控件的源代碼。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版