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标准库urllib2的一些使用细节总结
Mar 16 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
python日期相关操作实例小结
Jun 24 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
PyTorch中permute的用法详解
Dec 30 Python
python语言的优势是什么
Jun 17 Python
python中使用np.delete()的实例方法
Feb 01 Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 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
农民和部队如何穿矿
2020/03/04 星际争霸
把PHP安装为Apache DSO
2006/10/09 PHP
提取HTML标签
2006/10/09 PHP
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python 函数基础知识汇总
2018/03/09 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
Python编程中类与类的关系详解
2019/08/08 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
python安装后的目录在哪里
2020/06/21 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
大家访活动实施方案
2014/03/10 职场文书
2014年终工作总结范本
2014/12/15 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
消费者理赔投诉书
2015/07/02 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL