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生成指定尺寸缩略图的示例
May 07 Python
Python常见工厂函数用法示例
Mar 21 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
使用python绘制二元函数图像的实例
Feb 12 Python
python使用PyQt5的简单方法
Feb 27 Python
如何使用Python自动控制windows桌面
Jul 11 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
Python pickle模块实现对象序列化
Nov 22 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
Python实现密钥密码(加解密)实例详解
Apr 26 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php下拉选项的批量操作的实现代码
2013/10/14 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
详解Vue 如何监听Array的变化
2019/06/06 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
python两个list[]相加的实现方法
2020/09/23 Python
用python进行视频剪辑
2020/11/02 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
幼儿园教师师德师风承诺书
2015/04/28 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python