全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python PyQt5实现的简易计算器功能示例

本文实例讲述了Python PyQt5实现的简易计算器功能。分享给大家供大家参考,具体如下:

这里剩下计算函数(self.calculator)未实现,有兴趣的朋友可以实现它

【知识点】

1、利用循环添加按钮部件,及给每个按钮设置信号/槽
2、给按钮设置固定大小:button.setFixedSize(QtCore.QSize(60,30))
3、取事件的的发送者(此例为各个按钮)的文本: self.sender().text()

【效果图】

【源代码】

import sys
from PyQt5 import QtWidgets,QtCore,QtGui
class Example(QtWidgets.QWidget):
 def __init__(self):
  super(Example, self).__init__()
  self.initUI()
  self.reset()
 def initUI(self):
  self.setWindowTitle('简易计算器')
  grid = QtWidgets.QGridLayout()
  self.display = QtWidgets.QLineEdit('0')
  self.display.setFont(QtGui.QFont("Times", 20))
  self.display.setReadOnly(True)
  self.display.setAlignment(QtCore.Qt.AlignRight)
  self.display.setMaxLength(15)
  grid.addWidget(self.display,0,0,1,4)
  names = ['Clear', 'Back', '', 'Close', 
    '7', '8', '9', '/',
    '4', '5', '6', '*', 
    '1', '2', '3', '-',
    '0', '.', '=', '+']
  pos = [(0, 0), (0, 1), (0, 2), (0, 3),
    (1, 0), (1, 1), (1, 2), (1, 3),
    (2, 0), (2, 1), (2, 2), (2, 3),
    (3, 0), (3, 1), (3, 2), (3, 3 ),
    (4, 0), (4, 1), (4, 2), (4, 3)]
  c = 0
  for name in names:
   button = QtWidgets.QPushButton(name)
   button.setFixedSize(QtCore.QSize(60,30))
   button.clicked.connect(self.buttonClicked) # 给每个按钮设置信号/槽
   if c == 2:
    pass
    #grid.addWidget(QtWidgets.QLabel(''), 0, 2) #替换 第三个按钮 为 文本标签!
   else: 
    grid.addWidget(button, pos[c][0]+1, pos[c][1])
   c = c + 1
  self.setLayout(grid)
 def buttonClicked(self): 
  #sender = self.sender(); # 确定信号发送者
  #self.display.setText(sender.text())
  text = self.sender().text()
  if text in '+-*/':
   self.history.append(self.number) # 数字入栈
   self.history.append(text) # 运算符入栈
   self.operator = text # 设置当前运算符
   self.number = "" # 数字清空
   self.numberType = "int"
   return
  elif text == "=":
   self.calculate() # 计算
  elif text == "Back":
   pass
  elif text == "Clear":
   self.reset()
  elif text == "Close":
   self.close()
  elif text == ".":
   if self.numberType == "int":
    self.number += text
    self.numberType = "float"
  else:
   self.number = self.number + text if self.number != "0" else text
  self.display.setText(self.number)
 def calculate(self):
  pass
 def reset(self):
  self.number = "0"
  self.result = 0
  self.history = []
  self.operator = '' # +,-,*,/
  self.numberType = 'int' # int与float两种,如果输入了小数点则为实数
app = QtWidgets.QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools./jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools./jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools./jisuanqi/jsq

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # PyQt5  # 计算器  # PyQt5实现简易计算器  # python3.5 + PyQt5 +Eric6 实现的一个计算器代码  # PyQt5实现简单的计算器  # Pyqt5实战小案例之界面与逻辑分离的小计算器程序  # 运算符  # 进阶  # 操作技巧  # 相关内容  # 两种  # 感兴趣  # 数据结构  # 给大家  # 有兴趣  # 可以实现  # 第三个  # 更多关于  # 则为  # 所述  # 几款  # 程序设计  # 源代码  # 使用技巧  # 清空  # 再为 


相关文章: 正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  C++如何使用std::optional?(处理可选值)  宝塔面板创建网站无法访问?如何快速排查修复?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  c++怎么用jemalloc c++替换默认内存分配器【性能】  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  网站制作说明怎么写,简述网页设计的流程并说明原因?  建站主机选择指南:服务器配置与SEO优化实战技巧  郑州企业网站制作公司,郑州招聘网站有哪些?  公司门户网站制作流程,华为官网怎么做?  建站之星安装需要哪些步骤及注意事项?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  高性价比服务器租赁——企业级配置与24小时运维服务  如何在Golang中使用replace替换模块_指定本地或远程路径  如何用美橙互联一键搭建多站合一网站?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  ,在苏州找工作,上哪个网站比较好?  建站之星logo尺寸如何设置最合适?  高端网站建设与定制开发一站式解决方案 中企动力  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  建站之星导航如何优化提升用户体验?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  零基础网站服务器架设实战:轻量应用与域名解析配置指南  清除minerd进程的简单方法  如何在Tomcat中配置并部署网站项目?  已有域名能否直接搭建网站?  如何通过云梦建站系统实现SEO快速优化?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  活动邀请函制作网站有哪些,活动邀请函文案?  专业网站建设制作报价,网页设计制作要考什么证?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何获取免费开源的自助建站系统源码?  如何在建站之星绑定自定义域名?  广德云建站网站建设方案与建站流程优化指南  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  如何设计高效校园网站?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  建站之星各版本价格是多少?  设计网站制作公司有哪些,制作网页教程?  英语简历制作免费网站推荐,如何将简历翻译成英文?  网站按钮制作软件,如何实现网页中按钮的自动点击?  如何选择建站程序?包含哪些必备功能与类型?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。