最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Qt Designer快速入門

2021-12-06 14:42 作者:海鷗之道  | 我要投稿

Qt designer,即 Qt設計師,是一個強大、靈活的可視化GUI 設計工具,可以幫助我們加快開發(fā)PyQt程序的速度。Qt designer是專門用來制作PyQt程序中U界面的工具,它生成的UI界面是一個后綴為.ui的文件。該文件使用起來非常簡單,可以通過命令將.ui文件轉換成.py格式的文件,并被其他Python文件引用;也可以像上節(jié)搭建環(huán)境一樣,配置工具,直接操作,不過其本質,都是運行對應的工具轉換程序實現(xiàn)的。

Qt designer符合MVC(模型—視圖一控制器)設計模式,做到了顯示和業(yè)務邏輯的分離。

Qt designer具有以下優(yōu)點。

  • 使用簡單,通過拖曳和點擊就可以完成復雜的界面設計,而且還可以隨時預覽查看效果圖。

  • 轉換Python文件方便。Qt designer可以將設計好的用戶界面保存為.ui文件,其實是XML格式的文本文件。為了在 PyQt中使用.ui文件,可以通過 pyuic5命令將.ui文件轉換為.py文件件,然后將.py文件引入到自定義的Python代碼中。

1、新建主窗口

在Qt designer 的安裝路徑下雙擊designer.exe文件,打開PyQt 5的 Qt designer,會自動彈出“新建窗體”對話框,如圖所示。在模板選項中,最常用的就是Widget(通用窗口)和 Main Window(主窗口)。在PyQt 5中 Widget被分離出來,用來替代 Dialog,并將Widget放入了QtWidget模塊庫中。

新建窗體

模板選擇“Main Window”,創(chuàng)建一個主窗口,保存并命名為firstMainWin.ui,如圖所示,主窗口默認添加了菜單欄、工具欄和狀態(tài)欄。

2、窗體主要功能區(qū)域介紹

  • ?Widget Box(工具箱),如圖所示,其中提供了很多控件,每個控件都有自己的名稱,提供不同的功能,比如常用的按鈕、單選鈕、文本框等,可以直接拖放到主窗口中。在菜單欄中選擇“窗體”→“預覽”,或者按“Ctrl+R”快捷鍵,就可以看到窗口的預覽效果了。

工具箱

可以從Buttons欄拖拽一個Push Button按鈕到主窗體,如圖所示。

放入一個按鈕

在對象查看器中,可以查看主窗體中放置的對象列表,如圖所示。

對象查看器

屬性編輯器中庭了對窗體、控件、布局的屬性編輯功能,如圖所示。

屬性編輯器

主要功能部分注解如下:

geometry,相對坐標系。

sizePolicy,控件大小策略。

minimumSize,最小寬度、高度。

maximumSize,最大寬度、高度。如果想讓窗口或控件的大小固定,則可以將minimumSize和 maximumSize這兩個屬性設置成一樣的數(shù)值。

font,字體。

cursor,光標。

windowTitle,窗口標題。

windowsIcon/icon,窗口圖標/控件圖標。.iconSize,圖標大小。

toolTip,提示信息。

statusTip,任務欄提示信息。text,控件文本。

shortcut,快捷鍵。

3、查看UI文件

采用Qt designer 工具設計的界面文件默認為.ui文件,描述了窗口中控件的屬性列表和布局顯示。.ui 文件里面包含的內容是按照XML(可擴展標記語言)格式處理的。

將上節(jié)的一個按鈕示例保存一下,用pycharm打開查看,顯示內容如下:

由上可以看出,按鈕的設置參數(shù)與使用Qt designer打開.ui文件時顯示的信息是一致的。有了Qt designer,開發(fā)者就能夠更快地開發(fā)設計出程序界面,避免了用純代碼來編寫的煩瑣,從而不必擔心底層的代碼實現(xiàn)。

4、將.ui文件轉換為.py文件

使用Qt designer設計的用戶界面默認保存為.ui文件,其內容結構類似于XML,但這種文件并不是我們想要的,我們想要的是.py文件,所以還需要使用其他方法將.ui文件轉換為.py文件。本文提供了2種方法。

1)通過pycharm設置Tools

設置方式詳見上節(jié):

通過打開Tools->External Tools->PyUIC將.ui文件轉換為.py文件。

2)通過命令行把.ui文件轉換為.py文件

PyQt 5安裝成功后,pyuic5命令默認安裝在%/python3x/Scripts目錄下,在筆者的機器上pyuic5的安裝路徑是C:\Users\Administrator\Desktop\python_pyqt5\Scripts

(我是用虛擬環(huán)境創(chuàng)建的工程,所以不在python3x根目錄下)

注意:如果輸入 pyuic5命令沒有得到正確提示,而是提示“pyuic5不是內部命令或外部命令,也不是可運行的程序或批處理文件”,則是由于Python 3.*環(huán)境配置出錯導致的,請將pyuic5.exe可執(zhí)行程序的目錄添加到環(huán)境變量。

要想將firstMain Win.ui轉換成.py文件,通過PyQt5提供的命令行工具 pyuic5可以輕松實現(xiàn)。這里一般將UI單獨存成一個文件,便于更新。輸入以下命令把UI文件轉換成Python文件。

打開命令窗口,輸入上述指令 pyuic5 -o firstMainnWin.py firstMainwin.ui:

錯誤示范

發(fā)現(xiàn)沒有此文件,需注意:在使用此指令前,要用cd指令進入到當前.ui文件的根目錄下,如我的文件.ui文件存放在C:\Users\Administrator\Desktop\python_pyqt5,此時輸入指令:

cd Desktop

進入desktop

在輸入cd python_pyqt5:

進入到.ui文件根目錄

此時,在輸入pyuic5 -o firstMainnWin.py firstMainwin.ui

轉換成功

轉換完成,在C:\Users\Administrator\Desktop\python_pyqt5跟錄下,就可以發(fā)現(xiàn)剛才轉換的.py文件:

5、界面與邏輯分離

我們通過之前的內容學會了如何制作.ui文件,以及如何把.ui文件轉換成.py文件。值得注意的是,由于這里的.py文件是由.ui文件編譯而來的,因此當.py文件發(fā)生變化時,對應的.py文件也會發(fā)生變化。我們把這種由.ui文件編譯而來的.py文件稱為界面文件。由于界面文件每次編譯時都會初始化,所以需要新建一個.py 文件調用界面文件,這個新建的.py文件被稱為邏輯文件,也可以稱為業(yè)務文件。界面文件和邏輯文件是兩個相對獨立的文件,通過上述方法就實現(xiàn)了界面與邏輯的分離(也就是我們之前所說的“顯示和業(yè)務邏輯的分離”)。

實現(xiàn)界面與邏輯的分離方法很簡單,只需要新建一個 CallFirstMainWin.py文件,并繼承界面文件的主窗口類即可。其完整代碼如下:

運行之后,即可顯示UI界面:

在上面的代碼中實現(xiàn)了業(yè)務邏輯,代碼結構也清晰很多。如果以后想要更新界面,只需要對.ui文件進行更新,然后再編譯成對應的.py 文件即可;而邏輯文件則視情況做一些調整,一般情況下不需要調整太多。

PyQt支持界面與邏輯的分離,這對于新手來說無疑是最大的福音。當然,要做出華麗的界面還是要學一些代碼的,Qt designer 提供了一些解決方法。另外,也可以通過Qt designer生成的代碼來學習一些窗口控件的用法。

Qt Designer快速入門的評論 (共 條)

分享到微博請遵守國家法律
嵊州市| 琼结县| 诸暨市| 沁水县| 泾阳县| 桐庐县| 余庆县| 石首市| 晋宁县| 肥乡县| 富民县| 通州区| 牡丹江市| 普兰县| 大姚县| 丹棱县| 利辛县| 博罗县| 鹿邑县| 成安县| 普兰县| 安阳县| 杭锦后旗| 丰都县| 乐业县| 顺义区| 涿州市| 花垣县| 呼伦贝尔市| 宁阳县| 贵州省| 陆河县| 临汾市| 沙雅县| 余干县| 苍山县| 台前县| 增城市| 天水市| 苏尼特右旗| 东辽县|