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奇技淫巧13招【实用】
Dec 14 Python
最近Python有点火? 给你7个学习它的理由!
Jun 26 Python
Python实现简单的语音识别系统
Dec 13 Python
用python实现对比两张图片的不同
Feb 05 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
Apr 15 Python
Python中的Cookie模块如何使用
Jun 04 Python
学python需要去培训机构吗
Jul 01 Python
Python利用命名空间解析XML文档
Aug 10 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
模拟select的代码
2011/10/19 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
Webpack实战加载SVG的方法
2017/12/26 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
js实现简单抽奖功能
2020/11/24 Javascript
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
tensorflow多维张量计算实例
2020/02/11 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
临床医学应届生求职信
2013/11/06 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
小兵张嘎电影观后感
2015/06/03 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python