python实现计算器简易版
作者:ztq666666 时间:2021-01-25 22:43:15
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_())
来源: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