当前位置 博文首页 > python实现计算器简易版

    python实现计算器简易版

    作者:ztq666666 时间:2021-08-08 18:13

    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_())
    jsjbwy
    下一篇:没有了