PyQt5實現(xiàn)簡單的計算器
本文實例為大家分享了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_())
實現(xiàn)界面如下:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
實現(xiàn)Python圖形界面框架TkInter寫GUI界面應用簡介過程操作
TkInter是Python用于開發(fā)GUI界面的標準庫,如果你想快速開發(fā)一個帶有GUI界面的小工具(笑小程序),且又能同時在Linux、Windows、Mac上使用,TkInter天生支持跨平臺,天生具備穩(wěn)定性,我認為它能滿足內(nèi)部工具的簡單需求2021-09-09
Python中利用Scipy包的SIFT方法進行圖片識別的實例教程
SIFT算法可以檢測圖片中的局部特征,算法原理相當復雜...但是!Python強大的第三方包Scipy中帶有實現(xiàn)SIFT算法的SIFT方法,我們只要拿來用就可以了,下面就為大家?guī)鞵ython中利用Scipy包的SIFT方法進行圖片識別的實例教程.2016-06-06
Python中class內(nèi)置方法__init__與__new__作用與區(qū)別解析
這篇文章主要介紹了Python中class內(nèi)置方法__init__與__new__作用與區(qū)別探究,本文中涉及的類均為Python3中默認的新式類,對應Python2中則為顯式繼承了object的class,因為未繼承object基類的舊式類并沒有這些內(nèi)置方法,需要的朋友可以參考下2022-09-09
解決python cv2.imread 讀取中文路徑的圖片返回為None的問題
這篇文章主要介紹了解決python cv2.imread 讀取中文路徑的圖片返回為None的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python中將字符串轉(zhuǎn)換為列表的常用八種方法
本文介紹了Python中將字符串轉(zhuǎn)換為列表的八種常用方法,包括split()方法、列表解析、正則表達式、str()函數(shù)、map()函數(shù)、re.split()、re.finditer()和逐字符遍歷,感興趣的可以了解一下2024-07-07
python分塊讀取大數(shù)據(jù),避免內(nèi)存不足的方法
今天小編就為大家分享一篇python分塊讀取大數(shù)據(jù),避免內(nèi)存不足的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
多個geojson經(jīng)過坐標系轉(zhuǎn)換后如何合并為一個shp數(shù)據(jù)
這篇文章主要介紹了多個geojson經(jīng)過坐標系轉(zhuǎn)換后如何合并為一個shp數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10

