python实现计算器简易版

作者:ztq666666 时间:2021-01-25 22:43:15 

Python计算器加减乘除,供大家参考,具体内容如下

1、效果图

python实现计算器简易版

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_())

来源:https://blog.csdn.net/qq_23034755/article/details/111189398

标签:python,计算器
0
投稿

猜你喜欢

  • Python中的字符串查找操作方法总结

    2021-06-13 12:21:46
  • python三引号如何输入

    2021-08-12 12:42:34
  • TensorFlow可视化工具TensorBoard默认图与自定义图

    2023-03-03 06:53:22
  • mySQL UNION运算符的默认规则研究

    2024-01-21 17:51:39
  • 解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)

    2023-04-19 12:11:44
  • Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析

    2023-10-13 08:08:24
  • Python PyInstaller安装和使用教程详解

    2021-05-12 01:28:40
  • Python 连连看连接算法

    2023-10-28 09:12:35
  • 微软建议的ASP性能优化28条守则(2)

    2008-02-22 17:02:00
  • numpy中的transpose函数中具体使用方法

    2023-04-28 23:46:44
  • asp如何创建目录?

    2009-11-14 20:51:00
  • Go语言操作Excel利器之excelize类库详解

    2024-04-28 09:12:47
  • Mysql数据库的导入导出方式(各种情况)

    2024-01-19 15:40:42
  • 修复 Mac brew 安装 mongodb 报 Error: No available formula with the name ‘mongodb’ 问题详解

    2024-01-18 17:10:50
  • 详解python实现邮件解析的方法

    2023-02-19 04:03:20
  • MySQL数据库约束详解

    2024-01-24 14:41:01
  • Pthon批量处理将pdb文件生成dssp文件

    2021-10-07 13:11:04
  • python flask 如何修改默认端口号的方法步骤

    2021-07-04 16:35:14
  • 在Go语言中使用JSON的方法

    2024-04-25 15:26:04
  • windows下mysql 8.0.27 安装配置图文教程

    2024-01-24 00:26:57
  • asp之家 网络编程 m.aspxhome.com