python如何实现计算器简易版?本篇文章小编给大家分享一下python实现计算器简易版代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1、效果图
2、代码
# coding=utf-8 import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout, QLCDNumber, QSlider, QVBoxLayout, qApp, QMainWindow from PyQt5.QtCore import Qt class ForExample(QWidget): def __init__(self): super().__init__() # self.clu = 0.0 # print('lx',type(self.clu)) self.info = 0.0 print(type(self.info)) self.statusSUN = False self.statusPoint = False self.initUI() def initUI(self): # 网格布局 grid = QGridLayout() self.setLayout(grid) # names = ['清除', '后退', '', '关闭', # '7', '8', '9', '/', # '4', '5', '6', '*', # '1', '2', '3', '-', # '0', '.', '=', '+'] # 创建一个菜单栏 # menubar = self.menuBar() # # 添加菜单 # fileMenu = menubar.addMenu('&File') # LCD显示屏 self.lcd = QLCDNumber(self) self.lcd.setDigitCount(9) self.lcd.isRightToLeft() self.lcd.display(self.info) grid.addWidget(self.lcd, 0, 0, 2, 4) # 清除 bc = QPushButton('清除') bc.clicked.connect(self.def_bc) grid.addWidget(bc, 2, 0) # 后退 bk = QPushButton('后退') bk.clicked.connect(self.def_bk) grid.addWidget(bk, 2, 1) # ca = QPushButton('计算') # ca.clicked.connect(self.def_bc) # grid.addWidget(ca, 2, 2) of = QPushButton('关闭') of.clicked.connect(qApp.quit) grid.addWidget(of, 2, 3) # b7 = QPushButton('7') b7.clicked.connect(self.def_b7) grid.addWidget(b7, 3, 0) b8 = QPushButton('8') b8.clicked.connect(self.def_b8) grid.addWidget(b8, 3, 1) b9 = QPushButton('9') b9.clicked.connect(self.def_b9) grid.addWidget(b9, 3, 2) b4 = QPushButton('4') b4.clicked.connect(self.def_b4) grid.addWidget(b4, 4, 0) b5 = QPushButton('5') b5.clicked.connect(self.def_b5) grid.addWidget(b5, 4, 1) b6 = QPushButton('6') b6.clicked.connect(self.def_b6) grid.addWidget(b6, 4, 2) bExcept = QPushButton('/') bExcept.clicked.connect(self.def_bExcept) grid.addWidget(bExcept, 3, 3) bMultiply = QPushButton('*') bMultiply.clicked.connect(self.def_bMultiply) grid.addWidget(bMultiply, 4, 3) b1 = QPushButton('1') b1.clicked.connect(self.def_b1) grid.addWidget(b1, 5, 0) b2 = QPushButton('2') b2.clicked.connect(self.def_b2) grid.addWidget(b2, 5, 1) b3 = QPushButton('3') b3.clicked.connect(self.def_b3) grid.addWidget(b3, 5, 2) bLess = QPushButton('-') bLess.clicked.connect(self.def_bLess) grid.addWidget(bLess, 5, 3) b0 = QPushButton('0') b0.clicked.connect(self.def_b0) grid.addWidget(b0, 6, 0) bPoint = QPushButton('.') bPoint.clicked.connect(self.def_bPoint) grid.addWidget(bPoint, 6, 1) bsun = QPushButton('+') bsun.clicked.connect(self.def_bsun) grid.addWidget(bsun, 6, 3) bsun = QPushButton('=') bsun.clicked.connect(self.def_bresult) grid.addWidget(bsun, 6, 2) self.setGeometry(300, 300, 250, 250) self.show() ############################################################# def def_bc(self): self.info = 0 self.clu = 0 self.statusSUN = False self.lcd.display(self.info) def def_bk(self): if len(str(self.info)) > 1: self.info = int(str(self.info)[:-1]) else: self.info = 0 self.lcd.display(self.info) def def_b7(self): if self.info == 0: self.info = 7 else: self.info = int(str(self.info) + '7') self.statusSUN = False self.lcd.display(self.info) def def_b8(self): if self.info == 0: self.info = 8 else: self.info = int(str(self.info) + '8') self.statusSUN = False self.lcd.display(self.info) def def_b9(self): if self.info == 0: self.info = 9 else: self.info = int(str(self.info) + '9') self.statusSUN = False self.lcd.display(self.info) # 除 def def_bExcept(self): pass def def_b4(self): if self.info == 0: self.info = 4 else: self.info = int(str(self.info) + '4') self.statusSUN = False self.lcd.display(self.info) def def_b5(self): if self.info == 0: self.info = 5 else: self.info = int(str(self.info) + '5') self.statusSUN = False self.lcd.display(self.info) def def_b6(self): if self.info == 0: self.info = 6 else: self.info = int(str(self.info) + '6') self.statusSUN = False self.lcd.display(self.info) # 乘 def def_bMultiply(self): pass def def_b1(self): if self.info == 0: self.info = 1 else: self.info = int(str(self.info) + '1') self.statusSUN = False self.lcd.display(self.info) def def_b2(self): if self.info == 0: self.info = 2 else: self.info = int(str(self.info) + '2') self.statusSUN = False self.lcd.display(self.info) def def_b3(self): if self.info == 0: self.info = 3 else: self.info = int(str(self.info) + '3') self.statusSUN = False self.lcd.display(self.info) # 减 def def_bLess(self): pass def def_b0(self): if self.info == 0: self.info = 0 else: self.info = int(str(self.info) + '0') self.statusSUN = False self.lcd.display(self.info) def def_bPoint(self): if self.statusPoint: pass else: self.statusPoint = True if self.info == 0: self.info = 0. else: self.info = int(str(self.info) + '.') self.statusSUN = False self.lcd.display(self.info) # 等于,根据self.status判断输入的计算符号 def def_bresult(self): self.clu += self.info self.lcd.display(self.clu) self.statusSUN = False self.info = 0 # 加 def def_bsun(self): self.clu += self.info self.lcd.display(self.clu) self.statusSUN = True self.info = 0 if __name__ == '__main__': app = QApplication(sys.argv) fe = ForExample() sys.exit(app.exec_()) # coding=utf-8 import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout, QLCDNumber, QSlider, QVBoxLayout, qApp, QMainWindow from PyQt5.QtCore import Qt class ForExample(QWidget): def __init__(self): super().__init__() # self.clu = 0.0 # print('lx',type(self.clu)) self.info = 0.0 print(type(self.info)) self.statusSUN = False self.statusPoint = False self.initUI() def initUI(self): # 网格布局 grid = QGridLayout() self.setLayout(grid) # names = ['清除', '后退', '', '关闭', # '7', '8', '9', '/', # '4', '5', '6', '*', # '1', '2', '3', '-', # '0', '.', '=', '+'] # 创建一个菜单栏 # menubar = self.menuBar() # # 添加菜单 # fileMenu = menubar.addMenu('&File') # LCD显示屏 self.lcd = QLCDNumber(self) self.lcd.setDigitCount(9) self.lcd.isRightToLeft() self.lcd.display(self.info) grid.addWidget(self.lcd, 0, 0, 2, 4) # 清除 bc = QPushButton('清除') bc.clicked.connect(self.def_bc) grid.addWidget(bc, 2, 0) # 后退 bk = QPushButton('后退') bk.clicked.connect(self.def_bk) grid.addWidget(bk, 2, 1) # ca = QPushButton('计算') # ca.clicked.connect(self.def_bc) # grid.addWidget(ca, 2, 2) of = QPushButton('关闭') of.clicked.connect(qApp.quit) grid.addWidget(of, 2, 3) # b7 = QPushButton('7') b7.clicked.connect(self.def_b7) grid.addWidget(b7, 3, 0) b8 = QPushButton('8') b8.clicked.connect(self.def_b8) grid.addWidget(b8, 3, 1) b9 = QPushButton('9') b9.clicked.connect(self.def_b9) grid.addWidget(b9, 3, 2) b4 = QPushButton('4') b4.clicked.connect(self.def_b4) grid.addWidget(b4, 4, 0) b5 = QPushButton('5') b5.clicked.connect(self.def_b5) grid.addWidget(b5, 4, 1) b6 = QPushButton('6') b6.clicked.connect(self.def_b6) grid.addWidget(b6, 4, 2) bExcept = QPushButton('/') bExcept.clicked.connect(self.def_bExcept) grid.addWidget(bExcept, 3, 3) bMultiply = QPushButton('*') bMultiply.clicked.connect(self.def_bMultiply) grid.addWidget(bMultiply, 4, 3) b1 = QPushButton('1') b1.clicked.connect(self.def_b1) grid.addWidget(b1, 5, 0) b2 = QPushButton('2') b2.clicked.connect(self.def_b2) grid.addWidget(b2, 5, 1) b3 = QPushButton('3') b3.clicked.connect(self.def_b3) grid.addWidget(b3, 5, 2) bLess = QPushButton('-') bLess.clicked.connect(self.def_bLess) grid.addWidget(bLess, 5, 3) b0 = QPushButton('0') b0.clicked.connect(self.def_b0) grid.addWidget(b0, 6, 0) bPoint = QPushButton('.') bPoint.clicked.connect(self.def_bPoint) grid.addWidget(bPoint, 6, 1) bsun = QPushButton('+') bsun.clicked.connect(self.def_bsun) grid.addWidget(bsun, 6, 3) bsun = QPushButton('=') bsun.clicked.connect(self.def_bresult) grid.addWidget(bsun, 6, 2) self.setGeometry(300, 300, 250, 250) self.show() ############################################################# def def_bc(self): self.info = 0 self.clu = 0 self.statusSUN = False self.lcd.display(self.info) def def_bk(self): if len(str(self.info)) > 1: self.info = int(str(self.info)[:-1]) else: self.info = 0 self.lcd.display(self.info) def def_b7(self): if self.info == 0: self.info = 7 else: self.info = int(str(self.info) + '7') self.statusSUN = False self.lcd.display(self.info) def def_b8(self): if self.info == 0: self.info = 8 else: self.info = int(str(self.info) + '8') self.statusSUN = False self.lcd.display(self.info) def def_b9(self): if self.info == 0: self.info = 9 else: self.info = int(str(self.info) + '9') self.statusSUN = False self.lcd.display(self.info) # 除 def def_bExcept(self): pass def def_b4(self): if self.info == 0: self.info = 4 else: self.info = int(str(self.info) + '4') self.statusSUN = False self.lcd.display(self.info) def def_b5(self): if self.info == 0: self.info = 5 else: self.info = int(str(self.info) + '5') self.statusSUN = False self.lcd.display(self.info) def def_b6(self): if self.info == 0: self.info = 6 else: self.info = int(str(self.info) + '6') self.statusSUN = False self.lcd.display(self.info) # 乘 def def_bMultiply(self): pass def def_b1(self): if self.info == 0: self.info = 1 else: self.info = int(str(self.info) + '1') self.statusSUN = False self.lcd.display(self.info) def def_b2(self): if self.info == 0: self.info = 2 else: self.info = int(str(self.info) + '2') self.statusSUN = False self.lcd.display(self.info) def def_b3(self): if self.info == 0: self.info = 3 else: self.info = int(str(self.info) + '3') self.statusSUN = False self.lcd.display(self.info) # 减 def def_bLess(self): pass def def_b0(self): if self.info == 0: self.info = 0 else: self.info = int(str(self.info) + '0') self.statusSUN = False self.lcd.display(self.info) def def_bPoint(self): if self.statusPoint: pass else: self.statusPoint = True if self.info == 0: self.info = 0. else: self.info = int(str(self.info) + '.') self.statusSUN = False self.lcd.display(self.info) # 等于,根据self.status判断输入的计算符号 def def_bresult(self): self.clu += self.info self.lcd.display(self.clu) self.statusSUN = False self.info = 0 # 加 def def_bsun(self): self.clu += self.info self.lcd.display(self.clu) self.statusSUN = True self.info = 0 if __name__ == '__main__': app = QApplication(sys.argv) fe = ForExample() sys.exit(app.exec_())