溫馨提示×

溫馨提示×

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

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

Pythpn中怎么構(gòu)建一個PyQt應(yīng)用程序

發(fā)布時間:2021-07-22 15:13:38 來源:億速云 閱讀:161 作者:Leah 欄目:編程語言

這篇文章給大家介紹Pythpn中怎么構(gòu)建一個PyQt應(yīng)用程序,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

步驟1:創(chuàng)建PyQt應(yīng)用程序?qū)ο?/strong>

為了設(shè)計本教程的PyQt應(yīng)用程序,您必須導(dǎo)入所需的Python模塊。要設(shè)計這個應(yīng)用程序,它將需要兩個標(biāo)簽、兩個文本框和一個按鈕。

設(shè)計應(yīng)用程序需要QApplication、QMainWindow、QLabel、QTextEdit和QPushButton模塊。

在腳本的開頭添加以下行以使用這些模塊。

# 導(dǎo)入必要的模塊  from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QTextEdit, QPushButton

添加以下幾行以創(chuàng)建應(yīng)用程序?qū)ο蟛邮录h(huán)。現(xiàn)在執(zhí)行腳本后將不會出現(xiàn)任何內(nèi)容。

# 創(chuàng)建對象PyQt應(yīng)用程序  app = QApplication([])  # 啟動事件循環(huán)以執(zhí)行應(yīng)用程序  app.exec()

步驟2:創(chuàng)建類和窗口對象

創(chuàng)建類以在此步驟中添加必要的對象以設(shè)計應(yīng)用程序窗口。

添加以下行以創(chuàng)建帶有窗口對象的類。此處,設(shè)置了窗口的標(biāo)題,大小和位置。接下來,調(diào)用show()方法以將窗口顯示為輸出。

class addition(QMainWindow):      def __init__(self):          # 調(diào)用父構(gòu)造函數(shù)          super().__init__()          # 設(shè)置窗口標(biāo)題          self.setWindowTitle("PyQt加法應(yīng)用 - Linux迷 www.linuxmi.com")          # 設(shè)置窗口的寬度和高度          self.resize(850, 500)          # 移動窗口的位置          self.move(800, 400)          # 顯示窗口          self.show()

您必須在運行事件循環(huán)之前創(chuàng)建類的對象。

# 創(chuàng)建窗口對象  window = addition()

執(zhí)行腳本后,將出現(xiàn)以下空白窗口。

Pythpn中怎么構(gòu)建一個PyQt應(yīng)用程序

步驟3:在窗口中添加所需的小部件以進行添加

現(xiàn)在,添加實現(xiàn)應(yīng)用程序所需的必要對象。在此步驟中,將創(chuàng)建QLabel小部件的三個對象,QTextEdit小部件的兩個對象以及QPushButton小部件的按鈕對象。前兩個標(biāo)簽對象將用于在文本框之前提供幫助文本。QTextEdit對象將用于從用戶獲取兩個數(shù)字值。將使用下一步將創(chuàng)建的事件處理函數(shù)創(chuàng)建QPushButton對象,以計算輸入數(shù)字的總和。最后一個標(biāo)簽對象將用于顯示兩個數(shù)字的總和。在這里,將為每個對象調(diào)用setGeometry()函數(shù)以設(shè)置對象在窗口中的位置。 

# 為第一個數(shù)字創(chuàng)建標(biāo)簽     self.lbl1 = QLabel('第一個數(shù)字', self)     self.lbl1.setGeometry(200, 120, 160, 50)     # 為第一個數(shù)字創(chuàng)建文本框     self.textbox1 = QTextEdit(self)     self.textbox1.setGeometry(200, 160, 150, 60)     # 為第二個數(shù)字創(chuàng)建標(biāo)簽     self.lbl2 = QLabel('第二個數(shù)字', self)     self.lbl2.setGeometry(500, 120, 160, 50)     # 為第二個數(shù)字創(chuàng)建文本框     self.textbox2 = QTextEdit(self)     self.textbox2.setGeometry(500, 160, 150, 60)     # 創(chuàng)建按鈕以計算總和     self.submit = QPushButton('計算總和', self)     self.submit.setGeometry(300, 300, 220, 60)     # 創(chuàng)建標(biāo)簽以顯示求和結(jié)果     self.lblResult = QLabel('', self)     self.lblResult.setGeometry(80, 130, 200, 50)

執(zhí)行腳本后,將顯示以下輸出。在此步驟中未創(chuàng)建任何事件處理程序函數(shù),該函數(shù)用于計算數(shù)字的總和。因此,如果用戶單擊該按鈕,則不會發(fā)生任何事情。

Pythpn中怎么構(gòu)建一個PyQt應(yīng)用程序

步驟4:創(chuàng)建并調(diào)用函數(shù)以處理按鈕的click事件

創(chuàng)建一個名為onClicked()的方法,并在附加類中包含以下幾行內(nèi)容來處理按鈕的click事件。使用int()函數(shù)將文本框的值轉(zhuǎn)換為整數(shù),并將其存儲在num1和num2變量中。接下來,將num1和num2之和存儲在結(jié)果變量中。在將值存儲在輸出變量中之前,使用str()函數(shù)將num1,num2和結(jié)果變量的值轉(zhuǎn)換為字符串值。第三個標(biāo)簽對象用于顯示輸出變量的內(nèi)容。

def onClicked(self):      num1 = int(self.textbox1.toPlainText())      num2 = int(self.textbox2.toPlainText())      result = num1 + num2      output = "<p style='color:red'> " + str(num1) + " 加 " + str(num2) + " 等于 " + str(result) + '</p>'      self.lblResult.setText(output)

在按鈕對象之后的類中添加以下行,以在單擊按鈕時調(diào)用onClicked()方法。

# 單擊按鈕時的調(diào)用功能  self.submit.clicked.connect(self.onClicked)

執(zhí)行腳本后,如果用戶在文本框中輸入26和500并單擊“計算總和”按鈕,則以下格式化的輸出將顯示在按鈕下方。

Pythpn中怎么構(gòu)建一個PyQt應(yīng)用程序

關(guān)于Pythpn中怎么構(gòu)建一個PyQt應(yīng)用程序就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI