您好,登錄后才能下訂單哦!
這篇文章主要介紹Python中Qt窗體開發(fā)的基本操作有哪些,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
正文:
首先看成品:
這個程序的功能是輸入原價和降價的百分比,計算出最后的價格。
設(shè)計器部分
然后就是開發(fā)階段了,首先在Qt Designer中建立一個窗體,大概像圖片中的樣子,然后將控件都拖進(jìn)去
其中,“原價是多少啊”,“綠色的標(biāo)標(biāo)”這些文字類的控件是QLabel,第一個框框是QTextEdit,第二個標(biāo)標(biāo)是QDoubleSpinBox,或者使用QSpinBox都行,兩者主要是數(shù)字類型的不同,
提交按鈕是QPushButton,這里主要是想嘗試一下不同的控件,接下來點擊在圖片框上的QLabel,然后在屬性編輯器中將objectName命名為 labelResult ,QTextEdit命名為textPrice,QDoubleSpinBox
命名為dSBPer ,QPushButton命名為btnSub如圖:
這樣的命名方式并沒有什么特殊含義,只不過能夠讓鄙人記得更牢一些,以防止程序打到一半來回的看設(shè)計器。
這里有個比較麻煩的東西 ------------ 圖片框
圖片顯示本身是QLabel,所以顯示圖片需要先在設(shè)計器中放置一個QLbel控件,改控件在程序中沒有改動,所以名字默認(rèn)就好,接下來還需要在資源管理器中添加資源文件,如圖:
在Qt設(shè)計器中,只需在QLabel控件的pixmap屬性中載入即可,支持的文件可訪問Qt的文檔,我會在文章后面貼出
值得注意的是,資源文件在程序中的使用需要編譯為.py文件
編譯的代碼如下:
pyrcc4 -o a1_rc.py a1.qrc
程序部分
現(xiàn)在就開始程序部分的編輯了
第一步先導(dǎo)入有關(guān)Qt的庫
import sys from PyQt4 import QtCore,QtGui,uic
然后創(chuàng)建Window初始化
qtCreatorFile = "" #.ui Window File Ui_MainWindow,QtBaseClass = uic.loadUiType(qtCreatorFile)
接下來是基礎(chǔ)類的編寫
class MyApp(QtGui.QMainWindow,Ui_MainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) Ui_MainWindow.__init__(self) self.setupUi(self) self.btnSub.clicked.connect(self.CalculateTax)
其中"self.btnSub.clicked.connect(self.CalculateTax)"中,btnSub是按鈕的名稱,clicked.connect是按鈕的點擊事件要執(zhí)行的函數(shù)的連接,CalculateTax是我自己寫的點擊的函數(shù),他將會在按鈕被點擊后調(diào)用
if __name__ == "__main__": app = QtGui.QApplication(sys.argv) window = App() window.show() sys.exit(app.exec_())
這一行在主程序中,是程序執(zhí)行時顯示窗體的操作
接下來就開始寫CalculateTax(self)函數(shù)了,它放在App類中:
def CalculateTax(self): price = int(self.textPrice.toPlainText()) tax = float(self.dSBPer.value()) total_price = price-((tax/100)*price) total_price_string = u"你要記得你要花多少錢,預(yù)計的價格很便宜?。?quot;+str(total_price) +u"塊"+"\n"+u"看到?jīng)]有,還不快買" self.labelResult.setText(total_price_string )
"textPrice.toPlainText()"其中textPrice是控件的名稱,toPlainText()是控件的方法,這是獲取控件的文本內(nèi)容,函數(shù)具體的詳細(xì)信息可以在Qt文檔中查詢,后面控件同理
有一點是在Qt中,如果中文顯示亂碼,需要將中文轉(zhuǎn)為指定的編碼,具體情況需要看程序的編碼,在本代碼中字符串前加u可直接轉(zhuǎn)碼。
# -*- coding: UTF-8 -*- import sys from PyQt4 import QtCore,QtGui,uic qtCreatorFile = "untitled.ui" #Window File Ui_MainWindow,QtBaseClass = uic.loadUiType(qtCreatorFile) class App(QtGui.QMainWindow,Ui_MainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) Ui_MainWindow.__init__(self) self.setupUi(self) self.btnSub.clicked.connect(self.CalculateTax) def CalculateTax(self): price = int(self.textPrice.toPlainText()) tax = float(self.dSBPer.value()) total_price = price-((tax/100)*price) total_price_string = u"你要記得你要花多少錢,預(yù)計的價格很便宜?。?quot;+str(total_price) +u"塊"+"\n"+u"看到?jīng)]有,還不快買" self.labelResult.setText(total_price_string ) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) window = App() window.show() sys.exit(app.exec_())
以上是“Python中Qt窗體開發(fā)的基本操作有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。