十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家介紹Pythpn中怎么構(gòu)建一個(gè)PyQt應(yīng)用程序,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、正定網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、正定網(wǎng)絡(luò)營(yíng)銷、正定企業(yè)策劃、正定品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供正定建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
步驟1:創(chuàng)建PyQt應(yīng)用程序?qū)ο?/strong>
為了設(shè)計(jì)本教程的PyQt應(yīng)用程序,您必須導(dǎo)入所需的Python模塊。要設(shè)計(jì)這個(gè)應(yīng)用程序,它將需要兩個(gè)標(biāo)簽、兩個(gè)文本框和一個(gè)按鈕。
設(shè)計(jì)應(yīng)用程序需要QApplication、QMainWindow、QLabel、QTextEdit和QPushButton模塊。
在腳本的開頭添加以下行以使用這些模塊。
# 導(dǎo)入必要的模塊 from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QTextEdit, QPushButton
添加以下幾行以創(chuàng)建應(yīng)用程序?qū)ο蟛?dòng)事件循環(huán)。現(xiàn)在執(zhí)行腳本后將不會(huì)出現(xiàn)任何內(nèi)容。
# 創(chuàng)建對(duì)象PyQt應(yīng)用程序 app = QApplication([]) # 啟動(dòng)事件循環(huán)以執(zhí)行應(yīng)用程序 app.exec()
步驟2:創(chuàng)建類和窗口對(duì)象
創(chuàng)建類以在此步驟中添加必要的對(duì)象以設(shè)計(jì)應(yīng)用程序窗口。
添加以下行以創(chuàng)建帶有窗口對(duì)象的類。此處,設(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) # 移動(dòng)窗口的位置 self.move(800, 400) # 顯示窗口 self.show()
您必須在運(yùn)行事件循環(huán)之前創(chuàng)建類的對(duì)象。
# 創(chuàng)建窗口對(duì)象 window = addition()
執(zhí)行腳本后,將出現(xiàn)以下空白窗口。
步驟3:在窗口中添加所需的小部件以進(jìn)行添加
現(xiàn)在,添加實(shí)現(xiàn)應(yīng)用程序所需的必要對(duì)象。在此步驟中,將創(chuàng)建QLabel小部件的三個(gè)對(duì)象,QTextEdit小部件的兩個(gè)對(duì)象以及QPushButton小部件的按鈕對(duì)象。前兩個(gè)標(biāo)簽對(duì)象將用于在文本框之前提供幫助文本。QTextEdit對(duì)象將用于從用戶獲取兩個(gè)數(shù)字值。將使用下一步將創(chuàng)建的事件處理函數(shù)創(chuàng)建QPushButton對(duì)象,以計(jì)算輸入數(shù)字的總和。最后一個(gè)標(biāo)簽對(duì)象將用于顯示兩個(gè)數(shù)字的總和。在這里,將為每個(gè)對(duì)象調(diào)用setGeometry()函數(shù)以設(shè)置對(duì)象在窗口中的位置。
# 為第一個(gè)數(shù)字創(chuàng)建標(biāo)簽 self.lbl1 = QLabel('第一個(gè)數(shù)字', self) self.lbl1.setGeometry(200, 120, 160, 50) # 為第一個(gè)數(shù)字創(chuàng)建文本框 self.textbox1 = QTextEdit(self) self.textbox1.setGeometry(200, 160, 150, 60) # 為第二個(gè)數(shù)字創(chuàng)建標(biāo)簽 self.lbl2 = QLabel('第二個(gè)數(shù)字', self) self.lbl2.setGeometry(500, 120, 160, 50) # 為第二個(gè)數(shù)字創(chuàng)建文本框 self.textbox2 = QTextEdit(self) self.textbox2.setGeometry(500, 160, 150, 60) # 創(chuàng)建按鈕以計(jì)算總和 self.submit = QPushButton('計(jì)算總和', 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ù)用于計(jì)算數(shù)字的總和。因此,如果用戶單擊該按鈕,則不會(huì)發(fā)生任何事情。
步驟4:創(chuàng)建并調(diào)用函數(shù)以處理按鈕的click事件
創(chuàng)建一個(gè)名為onClicked()的方法,并在附加類中包含以下幾行內(nèi)容來處理按鈕的click事件。使用int()函數(shù)將文本框的值轉(zhuǎn)換為整數(shù),并將其存儲(chǔ)在num1和num2變量中。接下來,將num1和num2之和存儲(chǔ)在結(jié)果變量中。在將值存儲(chǔ)在輸出變量中之前,使用str()函數(shù)將num1,num2和結(jié)果變量的值轉(zhuǎn)換為字符串值。第三個(gè)標(biāo)簽對(duì)象用于顯示輸出變量的內(nèi)容。
def onClicked(self): num1 = int(self.textbox1.toPlainText()) num2 = int(self.textbox2.toPlainText()) result = num1 + num2 output = "" + str(num1) + " 加 " + str(num2) + " 等于 " + str(result) + '
' self.lblResult.setText(output)
在按鈕對(duì)象之后的類中添加以下行,以在單擊按鈕時(shí)調(diào)用onClicked()方法。
# 單擊按鈕時(shí)的調(diào)用功能 self.submit.clicked.connect(self.onClicked)
執(zhí)行腳本后,如果用戶在文本框中輸入26和500并單擊“計(jì)算總和”按鈕,則以下格式化的輸出將顯示在按鈕下方。
關(guān)于Pythpn中怎么構(gòu)建一個(gè)PyQt應(yīng)用程序就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。