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 相关文章推荐
Python3读取zip文件信息的方法
May 22 Python
Python简单实现Base64编码和解码的方法
Apr 29 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
Python切片操作去除字符串首尾的空格
Apr 22 Python
python之信息加密题目详解
Jun 26 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python小白垃圾回收机制入门
Jun 09 Python
什么是python的必选参数
Jun 21 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
python实现图片素描效果
Sep 26 Python
python实现KNN近邻算法
Dec 30 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漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
Firefox div高度自适应
2009/04/28 Javascript
js arguments.callee的应用代码
2009/05/07 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
js实现全选和全不选
2020/07/28 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
python线程池的实现实例
2013/11/18 Python
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Python操作串口的方法
2015/06/17 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Python检查ping终端的方法
2019/01/26 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
公司成本主管岗位责任制
2014/02/21 职场文书
骨干教师培训方案
2014/05/06 职场文书
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers