溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python GUI中如何從UI文件中解耦Python代碼

發(fā)布時(shí)間:2021-10-11 17:37:35 來(lái)源:億速云 閱讀:149 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)Python GUI中如何從UI文件中解耦Python代碼,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

在實(shí)際的開發(fā)中,我們通常將代碼分為界面代碼和邏輯代碼,界面與邏輯分離。我們將演示一下在Qt設(shè)計(jì)師創(chuàng)建的GUI中,解耦邏輯代碼。

一、使用Qt設(shè)計(jì)師創(chuàng)建一個(gè)GUI      

首先,我們創(chuàng)建一個(gè)主窗口:

Python GUI中如何從UI文件中解耦Python代碼

然后,在主窗口中添加一個(gè)Table Widgets表格控件:

Python GUI中如何從UI文件中解耦Python代碼

在主窗口中添加兩個(gè)水平布局的按鈕:

Python GUI中如何從UI文件中解耦Python代碼

然后將窗口中的部件進(jìn)行垂直布局:

Python GUI中如何從UI文件中解耦Python代碼

基本的結(jié)構(gòu)搭建好了,我們?cè)诒砀癫考刑砑有泻土校?/p>

Python GUI中如何從UI文件中解耦Python代碼

添加好行和列之后,我們可以在表格控件中右擊鼠標(biāo),選擇“編輯項(xiàng)目”對(duì)行和列進(jìn)行編輯:

Python GUI中如何從UI文件中解耦Python代碼

這樣就完成了窗口界面的布局。

二、將UI文件轉(zhuǎn)為Python文件      

我們沒有使用Qt設(shè)計(jì)師進(jìn)行任何的邏輯性操作,只是創(chuàng)建了一個(gè)基本的窗口布局,現(xiàn)在使用pyuic5將其轉(zhuǎn)化為Python文件。

Python GUI中如何從UI文件中解耦Python代碼

轉(zhuǎn)換成的Python文件運(yùn)行正常:

Python GUI中如何從UI文件中解耦Python代碼

三、解耦Python邏輯代碼      

接下來(lái)通過Python模塊對(duì)UI的主窗口進(jìn)行邏輯的編輯。

我們新建一個(gè)Python文件,引入這個(gè)GUI窗口,運(yùn)行的結(jié)果和直接運(yùn)行那個(gè)主文件是一樣的。

Python GUI中如何從UI文件中解耦Python代碼

Python GUI中如何從UI文件中解耦Python代碼

接著,我們?cè)谛陆ǖ膁ecouple_window.py文件中對(duì)窗口的表格添加默認(rèn)值:

Python GUI中如何從UI文件中解耦Python代碼

Python GUI中如何從UI文件中解耦Python代碼

這樣我們就在表格中設(shè)置了三個(gè)默認(rèn)數(shù)據(jù),現(xiàn)在的設(shè)置是直接在主循環(huán)中寫死的,我們可以新建一個(gè)方法,將設(shè)置數(shù)據(jù)的代碼放置其中:

Python GUI中如何從UI文件中解耦Python代碼

Python GUI中如何從UI文件中解耦Python代碼

除了設(shè)置數(shù)據(jù),我們還可以為按鈕添加一個(gè)信號(hào)槽,當(dāng)按鈕點(diǎn)擊的時(shí)候,按鈕的文本進(jìn)行改變:

Python GUI中如何從UI文件中解耦Python代碼

Python GUI中如何從UI文件中解耦Python代碼

因?yàn)橛辛诉壿嫼瘮?shù),我們的信號(hào)槽能夠綁定和調(diào)用的部件就可以是多種多樣的,下面我們就演點(diǎn)擊按鈕,按鈕和表格中的文字都進(jìn)行改變。

Python GUI中如何從UI文件中解耦Python代碼

Python GUI中如何從UI文件中解耦Python代碼

關(guān)于Python GUI中如何從UI文件中解耦Python代碼就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI