Python开发的实用计算器完整实例


Posted in Python onMay 10, 2017

本文实例讲述了Python开发的实用计算器。分享给大家供大家参考,具体如下:

实现功能:图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开方 ,取余,清零。

1. Python代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Author : Mr.LiuYC
Created on 2014-09-30
E-Mail : liuyanchen0725@gmail.com
Introduction: 简易计算器 实现图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开方 ,取余,清零。
'''
from PyQt4 import QtGui,QtCore
import sys , math , string
class Example(QtGui.QWidget):
  def __init__(self,parent=None):
    QtGui.QWidget.__init__(self,parent=parent)
    self.initUI()
    self.last = []
  def initUI(self):
    list = ['%','**','sqrt','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/']
    length = len(list)
    for i in xrange(length):
      self.button = QtGui.QPushButton(str(list[i]),self)
      self.button.clicked.connect(self.onButtonClick)
      x = i % 4
      y = i / 4
      self.button.move(x * 40 + 10,y * 40 + 90)
      self.button.resize(30,30)
    self.lineEdit = QtGui.QLineEdit('',self)
    self.lineEdit.move(10,10)
    self.lineEdit.resize(150,70)
    self.setGeometry(200, 200, 170, 300)
    self.setWindowTitle('Quit buttom')
    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 __name__ == '__main__':
  app = QtGui.QApplication(sys.argv)
  e = Example()
  sys.exit(app.exec_())

2. calculator.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Author : Mr.LiuYC
Created on 2014-09-30
E-Mail : liuyanchen0725@gmail.com
Introduction: 简易计算器 实现图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开方 ,取余,清零。
'''
from PyQt4 import QtGui,QtCore
import sys , math , string
class Example(QtGui.QWidget):
  def __init__(self,parent=None):
    QtGui.QWidget.__init__(self,parent=parent)
    self.initUI()
    self.last = []
  def initUI(self):
    list = ['%','**','sqrt','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/']
    length = len(list)
    for i in xrange(length):
      self.button = QtGui.QPushButton(str(list[i]),self)
      self.button.clicked.connect(self.onButtonClick)
      x = i % 4
      y = i / 4
      self.button.move(x * 40 + 10,y * 40 + 90)
      self.button.resize(30,30)
    self.lineEdit = QtGui.QLineEdit('',self)
    self.lineEdit.move(10,10)
    self.lineEdit.resize(150,70)
    self.setGeometry(200, 200, 170, 300)
    self.setWindowTitle('Quit buttom')
    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 __name__ == '__main__':
  app = QtGui.QApplication(sys.argv)
  e = Example()
  sys.exit(app.exec_())

3. 运行效果图如下:

Python开发的实用计算器完整实例

Python开发的实用计算器完整实例

Python开发的实用计算器完整实例

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
深入解析Python设计模式编程中建造者模式的使用
Mar 02 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
python实现海螺图片的方法示例
May 12 Python
如何用Python制作微信好友个性签名词云图
Jun 28 Python
关于Tensorflow使用CPU报错的解决方式
Feb 05 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
python os.rename实例用法详解
Dec 06 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
Python只用40行代码编写的计算器实例
May 10 #Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 #Python
python 3.5下xadmin的使用及修复源码bug
May 10 #Python
Python遍历文件夹和读写文件的实现方法
May 10 #Python
python中requests小技巧
May 10 #Python
Python实现针对中文排序的方法
May 09 #Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 #Python
You might like
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
VBScript版代码高亮
2006/06/26 Javascript
js中获取事件对象的方法小结
2011/03/13 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
Python实现截屏的函数
2015/07/26 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
怎样写演讲稿
2014/01/04 职场文书
安全责任书范文
2014/03/12 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
团组织推优材料
2014/12/29 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
书法社团活动总结
2015/05/07 职场文书
Python上下文管理器Content Manager
2021/06/26 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript