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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
python排序方法实例分析
Apr 30 Python
实例讲解Python中函数的调用与定义
Mar 14 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
python实现音乐下载器
Apr 15 Python
python实现名片管理系统项目
Apr 26 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
使用Keras训练好的.h5模型来测试一个实例
Jul 06 Python
python中time.ctime()实例用法
Feb 03 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用户指南-cookies部分
2006/10/09 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
基于jquery的一个图片hover的插件
2010/04/24 Javascript
IE无法设置短域名下Cookie
2010/09/23 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
iView框架问题整理小结
2018/10/16 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
体育教师自荐信范文
2013/12/16 职场文书
学术会议邀请函范文
2014/01/22 职场文书
结婚喜宴主持词
2014/03/14 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
创先争优活动心得体会
2014/09/04 职场文书
联欢会开场白
2015/06/01 职场文书