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的Django框架与认证系统整合的方法
Jul 24 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
python实现抖音视频批量下载
Jun 20 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
Mar 27 Python
Python2与Python3的区别实例分析
Apr 11 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
pytorch打印网络结构的实例
Aug 19 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
Mar 09 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
python实现自动打卡的示例代码
Oct 10 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 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开发中的错误收集,不定期更新。
2011/02/03 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
twig里使用js变量的方法
2016/02/05 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
浅析vue-router原理
2018/10/19 Javascript
vue如何截取字符串
2019/05/06 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
python调用百度REST API实现语音识别
2018/08/30 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
公司授权委托书
2014/04/04 职场文书
房产代理公证处委托书
2014/04/04 职场文书
导游个人求职信
2014/04/25 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
一个都不能少观后感
2015/06/04 职场文书
机器人瓦力观后感
2015/06/12 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
Java中的Kotlin 内部类原理
2022/06/16 Java/Android