這篇文章主要為大家展示了PyQt5如何實現(xiàn)簡單的計算器,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的商洛網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!本文實例為大家分享了PyQt5實現(xiàn)簡單計算器的具體代碼,供大家參考,具體內(nèi)容如下
下面我們將介紹使用python的PyQt5圖形界面來編寫一個簡易的計算器,實現(xiàn)“加,減,乘,除,平方,開方”等運算。
代碼如下:
from PyQt5.QtGui import * from PyQt5.Qt import * from PyQt5.QtCore import * import sys,math,string class Calculator(QWidget): def __init__(self,parent=None): QWidget.__init__(self,parent=parent) self.initUI() self.last=[] def initUI(self): list=['&','**','s','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/'] length=len(list) #創(chuàng)建動態(tài)按鈕 for i in range (length): self.button=QPushButton(str(list[i]),self) #將按鈕的clicked信號與onButtonClick函數(shù)相連 self.button.clicked.connect(self.onButtonClick) x=i%4 y=int(i/4) self.button.move(x*40+10,y*40+100) self.button.resize(30,30) #創(chuàng)建文本框 self.lineEdit=QLineEdit('',self) self.lineEdit.move(10,10) self.lineEdit.resize(150,70) self.setGeometry(200,200,170,300) self.setWindowTitle('計算器') self.show() def onButtonClick(self): t=self.lineEdit.text()#獲取文本框文本 new=self.sender().text() self.last.append(new) print(self.last) self.lineEdit.setText(t+new) if new== "=": result=eval(str(t))#計算 self.lineEdit.setText(str(result)) if new=='C': self.lineEdit.setText('') if new=='sqrt': self.lineEdit.setText('') result=math.sqrt(string.atof(t)) self.lineEdit.setText(str(result)) if new=="**": self.lineEdit.setText('') result=string.atof(t)**2 self.lineEdit.setText(str(result)) app=QApplication(sys.argv) w=Calculator() w.show() sys.exit(app.exec_())