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