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的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
python配置grpc环境
Jan 01 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
三个python爬虫项目实例代码
Dec 28 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
python实现简单颜色识别程序
Feb 19 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
Python命名空间namespace及作用域原理解析
Jun 05 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
python 实现图片批量压缩的示例
Dec 18 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的加密方式及原理
2012/06/14 PHP
Laravel框架表单验证详解
2014/09/04 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
常用的javascript function代码
2008/05/23 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
js中document.write的那点事
2014/12/12 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python3实现定时任务的四种方式
2019/06/03 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
舞蹈毕业生的自我评价
2014/03/05 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书