PyQt5实现简单的计算器


Posted in Python onMay 30, 2020

本文实例为大家分享了PyQt5实现简单计算器的具体代码,供大家参考,具体内容如下

下面我们将介绍使用python的PyQt5图形界面来编写一个简易的计算器,实现“加,减,乘,除,平方,开方”等运算。

代码如下:

from PyQt5.QtGui import *
from PyQt5.Qt import *
from PyQt5.QtCore import *
import sys,math,string

class Calculator(QWidget):
  def __init__(self,parent=None):
    QWidget.__init__(self,parent=parent)
    self.initUI()
    self.last=[]
  def initUI(self):
    list=['&','**','s','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/']
    length=len(list)
    #创建动态按钮
    for i in range (length):
      self.button=QPushButton(str(list[i]),self)
      #将按钮的clicked信号与onButtonClick函数相连
      self.button.clicked.connect(self.onButtonClick)
      x=i%4
      y=int(i/4)
      self.button.move(x*40+10,y*40+100)
      self.button.resize(30,30)
    #创建文本框
    self.lineEdit=QLineEdit('',self)
    self.lineEdit.move(10,10)
    self.lineEdit.resize(150,70)
    self.setGeometry(200,200,170,300)
    self.setWindowTitle('计算器')
    self.show()
  def onButtonClick(self):
    t=self.lineEdit.text()#获取文本框文本
    new=self.sender().text()
    self.last.append(new)
    print(self.last)
    self.lineEdit.setText(t+new)
    if new== "=":
      result=eval(str(t))#计算
      self.lineEdit.setText(str(result))
    if new=='C':
      self.lineEdit.setText('')
    if new=='sqrt':
      self.lineEdit.setText('')
      result=math.sqrt(string.atof(t))
      self.lineEdit.setText(str(result))
    if new=="**":
      self.lineEdit.setText('')
      result=string.atof(t)**2
      self.lineEdit.setText(str(result))

app=QApplication(sys.argv)
w=Calculator()
w.show()
sys.exit(app.exec_())

实现界面如下:

PyQt5实现简单的计算器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单介绍Python中利用生成器实现的并发编程
May 04 Python
python开发之list操作实例分析
Feb 22 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
Python实现从log日志中提取ip的方法【正则提取】
Mar 31 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
Python return语句如何实现结果返回调用
Oct 15 Python
详解Pymongo常用查询方法总结
Jan 29 Python
PyQt5实现登录页面
May 30 #Python
Python网页解析器使用实例详解
May 30 #Python
PyQt5实现画布小程序
May 30 #Python
Java ExcutorService优雅关闭方式解析
May 30 #Python
Python定时任务APScheduler原理及实例解析
May 30 #Python
Python生成器next方法和send方法区别详解
May 30 #Python
Python新手学习标准库模块命名
May 29 #Python
You might like
php empty函数判断mysql表单是否为空
2010/04/12 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
使用jquery实现简单的ajax
2013/07/08 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
python爬虫要用到的库总结
2020/07/28 Python
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
客运企业隐患排查工作方案
2014/06/06 职场文书
失职检讨书大全
2015/01/26 职场文书
教师工作表现自我评价
2015/03/05 职场文书
2015年老干部工作总结
2015/04/23 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA