一、基本知識:

1.窗體---預覽( Ctrl+R)

2.雙擊可命名

3.選中後有且僅能拖動相應的控制項

4.我們可以先放入控制項,然後 ctrl 選中多個控制項,然後點擊工具欄上快速佈局工具進行佈局

按住Ctrl後選中兩控制項並拖動進大的柵格佈局

二、Qt Designer 窗口介紹

右邊是對窗口及控制項的各種調整、設置、添加資源(列如:圖片)、動作。還可以直接編輯 Qt 引以為豪的信號槽( signal 和 slot)。有了 Qt Designer 使得我們在程序設計中更快的能開發設計出程序界面,避免了用純代碼來寫一個窗口的繁瑣,同時 PyQt 支持界面與邏輯分離,這對於新手來說無疑是個最大的福音,當然要做出華麗的界面還是要學代碼的。至少 QtDesigner 為我們提供了一些解決方法,另外我們也可以通過 QtDesigner 生成的代碼來學習一些窗口控制項的用法。

三、Qt Designer 窗口布局 Layouts

1.Layouts 佈局方法

Qt Designer 窗口布局 Layouts 提供了四種佈局方法,他們是:

前三種是我們經常會用到的,我們將佈局 Layouts 拖動到窗體上會有紅色框來顯示,Layout 的一些屬性可以通過屬性編輯器來控制,一般包括:上下左右邊距間隔,空間之間間隔等。在我們使用佈局之前,我們得對層次要有個瞭解,在程序設計中一般用父子關係來表示。當然有過平面設計經驗的童鞋對分層應該有所瞭解,這裡我們還需要將層分成層次。其實就像 python 中規定的代碼縮進量代表不同層次的道理差不多。

從對象查看器中我們可以方便的看出窗體( Form) --佈局( Layout) --控制項(這裡是 PushButton 按鈕)之間的層次關係。Form 窗口一般作為頂層顯示,然後使用 Layout 將控制項按照我們想要的方式規劃開來。

2.ui文件轉換為py文件

這裡要注意一下, Qt Designer 設計出來的文件默認為 ui 文件,裡麪包含的類css 佈局設計語言,如果想要查看代碼我們還需要將它轉換(編譯)成 py 文件,我們可以使用一條DOS 命令來完成

C:UserszhuruiAppDataLocalProgramsPythonPython36Scriptspyuic5.exe mian.ui -o frist.py

或者

C:UserszhuruiAppDataLocalProgramsPythonPython36Scriptspyuic5.bat mian.ui -o frist.py

更實用的轉換命令可以將當前文件夾下所有 ui 轉換成 py 文件:

for /f "delims=" %%i in (dir /b /a-d /s *.ui) do
C:UserszhuruiAppDataLocalProgramsPythonPython36Scriptspyuic5.exe %%i -o %%i.py

或者

for /f "delims=" %%i in (dir /b /a-d /s *.ui) do
C:UserszhuruiAppDataLocalProgramsPythonPython36Scriptspyuic5.bat %%i -o %%i.py

本文使用pycharm中配置的PyUIC

將文件保存在項目目錄命名為PyQtUI4.ui,然後右鍵>External Tools>PyUIC,然後生成同名的py文件。最後新建PyQt4文件代碼如下,調用剛生成的PyQtUI4.py文件

import sys
import PyQtUI4#調用ui模塊
from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == __main__:
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = PyQtUI4.Ui_MainWindow()#這裡也是ui的模塊中的Ui_MainWindow()類
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())

運行結果如下

PyQt 支持用 LoadUi 方法直接載入 ui 文件,當然我們通過轉換後可以方便學習,PyQt 窗體控制項的源代碼。


推薦閱讀:
相關文章