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_())
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,计算器
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“python实现计算器简易版”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新动态
2025年10月28日
2025年10月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
