PyQt5学习笔记02----初探Qt Designer 设计师
網上很多教程都是純代碼,對于新手看起來就很頭疼,pyqt為我們提供了Qt designer來設計窗口界面,用起來也非常方便。對于新手來說應該善用它,雖然做出來的界面不那么華麗,但至少可以做出個像樣的窗口來。
初識Qt Designer
打開PyQt5的Qt?Designer,會自動彈出新建窗體對話框,對于我們最常用的就是Widget通用窗口類,還有個MainWindows顧名思義主窗口。PyQt5的Widget被分離出來,似乎用來替代Dialog,并將Widget放入了QtWidget模塊(庫)中,PyQt4是QtGUI。
? ? 這是一個Widget和MainWindows,MainWindows默認添加了菜單欄、工具欄和狀態欄等。
默認左邊是控件欄,提供了很多空間類,我們可以直接拖放到widget中看到效果,點窗體--預覽(Ctrl+R)。
每個空間都有自己的名稱,提供不同的功能,比如常用的按鈕、輸入框、單選、文本框等等。
? ? ? ??右邊是對窗口及控件的各種調整、設置、添加資源(列如:圖片)、動作。還可以直接編輯Qt引以為豪的信號槽(signal和slot)。
? ??有了Qt Designer使得我們在程序設計中更快的能開發設計出程序界面,避免了用純代碼來寫一個窗口的繁瑣,同時PyQt支持界面與邏輯分離,這對于新手來說無疑是個最大的福音,當然要做出華麗的界面還是要學代碼的。至少Qt Designer為我們提供了一些解決方法,另外我們也可以通過Qt Designer生成的代碼來學習一些窗口控件的用法。
Qt Designer Layouts窗口布局
Qt Designer窗口布局Layouts提供了四種布局方法,他們是:
Vertical Layout 縱向布局
Horizontal Layout 橫向布局
Grid Layout ?柵格布局
Form Layout ?在窗體布局中布局
前三種是我們經常會用到的,我們將布局Layouts拖動到窗體上會有紅色框來顯示(中間窗體中的四個小紅框就是),Layout的一些屬性可以通過屬性編輯器來控制,一般包括:上下左右邊距間隔,空間之間間隔等。
在我們使用布局之前,我們得對層次要有個了解,在程序設計中一般用父子關系來表示。當然有過平面設計經驗的童鞋對分層應該有所了解,這里我們還需要將層分成層次。其實就像python中規定的代碼縮進量代表不同層次的道理差不多。
? ? ? ? ?從對象查看器中我們可以方便的看出窗體(Form)--布局(Layout)--控件(這里是PushButton按鈕)之間的層次關系。Form窗口一般作為頂層顯示,然后使用Layout將控件按照我們想要的方式規劃開來。
小提示:
通常我們使用柵格布局作為頂層布局,將控件放置好之后可以通過右鍵--布局--柵格布局,將布局充滿整個窗體。我們可以先放入控件,然后ctrl選中多個控件,然后點擊工具欄上快速布局工具進行布局。
這里要注意一下,Qt Designer設計出來的文件默認為ui文件,里面包含的類css布局設計語言,如果想要查看代碼我們還需要將它轉換(編譯)成py文件,我們可以使用一條DOS命令來完成D:\Python33\Lib\site-packages\PyQt5\pyuic5.bat main.ui -o frist.py。 ?我的pycharm經過PyQt5+python3+pycharm開發環境配置(點擊我)的配置。通過下圖的操作可以便捷的對UI進行轉化
更實用的轉換命令可以將當前文件夾下所有ui轉換成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文件,當然我們通過轉換后可以方便學習PyQt窗體控件的源代碼。
總結
以上是生活随笔為你收集整理的PyQt5学习笔记02----初探Qt Designer 设计师的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Esay ui数据加载等待提示
- 下一篇: (王道408考研数据结构)第三章栈和队列