随便写写

import sys
import calc
from PyQt4 import QtCore, QtGui class MyWidget(QtGui.QWidget):
num1 = ""
num2 = ""
point1 = 0
point2 = 0
opera = 0
opera_add = 0
opera_minus = 0
opera_mul = 0
opera_div = 0 def __init__(self):
super(MyWidget, self).__init__()
self.the_ui = calc.Ui_widget()
self.the_ui.setupUi(self)
self.connect(self.the_ui.btn_one, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_one()'))
self.connect(self.the_ui.btn_two, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_two()'))
self.connect(self.the_ui.btn_three, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_three()'))
self.connect(self.the_ui.btn_four, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_four()'))
self.connect(self.the_ui.btn_five, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_five()'))
self.connect(self.the_ui.btn_six, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_six()'))
self.connect(self.the_ui.btn_seven, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_seven()'))
self.connect(self.the_ui.btn_eight, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_eight()'))
self.connect(self.the_ui.btn_nine, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_nine()'))
self.connect(self.the_ui.btn_zero, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_zero()'))
self.connect(self.the_ui.btn_point, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_point()'))
self.connect(self.the_ui.btn_add, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_add()'))
self.connect(self.the_ui.btn_minus, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_minus()'))
self.connect(self.the_ui.btn_multiply, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_multiply()'))
self.connect(self.the_ui.btn_divide, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_divide()'))
self.connect(self.the_ui.btn_equal, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('click_equal()')) @QtCore.pyqtSlot()
def click_one(self):
if self.opera == 0:
self.num1 += "1"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "1"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_two(self):
if self.opera == 0:
self.num1 += "2"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "2"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_three(self):
if self.opera == 0:
self.num1 += "3"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "3"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_four(self):
if self.opera == 0:
self.num1 += "4"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "4"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_five(self):
if self.opera == 0:
self.num1 += "5"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "5"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_six(self):
if self.opera == 0:
self.num1 += "6"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "6"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_seven(self):
if self.opera == 0:
self.num1 += "7"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "7"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_eight(self):
if self.opera == 0:
self.num1 += "8"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "8"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_nine(self):
if self.opera == 0:
self.num1 += "9"
self.the_ui.lineEdit.setText(self.num1)
else:
self.num2 += "9"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_zero(self):
if self.opera == 0:
if len(self.num1) != 0:
self.num1 += "0"
self.the_ui.lineEdit.setText(self.num1)
else:
if len(self.num2) != 0:
self.num2 += "0"
self.the_ui.lineEdit.setText(self.num2) @QtCore.pyqtSlot()
def click_point(self):
if self.opera == 0:
if len(self.num1) != 0:
if self.point1 == 0:
self.num1 += "."
self.the_ui.lineEdit.setText(self.num1)
self.point1 = 1
else:
if len(self.num2) != 0:
if self.point2 == 0:
self.num2 += "."
self.the_ui.lineEdit.setText(self.num2)
self.point2 = 1 @QtCore.pyqtSlot()
def click_add(self):
self.opera = 1
self.opera_add = 1
self.opera_minus = 0
self.opera_mul = 0
self.opera_div = 0
self.the_ui.lineEdit.setText("") @QtCore.pyqtSlot()
def click_minus(self):
self.opera = 1
self.opera_add = 0
self.opera_minus = 1
self.opera_mul = 0
self.opera_div = 0
self.the_ui.lineEdit.setText("") @QtCore.pyqtSlot()
def click_multiply(self):
self.opera = 1
self.opera_add = 0
self.opera_minus = 0
self.opera_mul = 1
self.opera_div = 0
self.the_ui.lineEdit.setText("") @QtCore.pyqtSlot()
def click_divide(self):
self.opera = 1
self.opera_add = 0
self.opera_minus = 0
self.opera_mul = 0
self.opera_div = 1
self.the_ui.lineEdit.setText("") @QtCore.pyqtSlot()
def click_equal(self):
if self.opera_add == 1:
self.the_ui.lineEdit.setText(str(float(self.num1) + float(self.num2)))
if self.opera_minus == 1:
self.the_ui.lineEdit.setText(str(float(self.num1) - float(self.num2)))
if self.opera_mul == 1:
self.the_ui.lineEdit.setText(str(float(self.num1) * float(self.num2)))
if self.opera_div == 1:
self.the_ui.lineEdit.setText(str(float(self.num1) / float(self.num2))) self.num1 = ""
self.num2 = ""
self.point1 = 0
self.point2 = 0
self.opera = 0
self.opera_add = 0
self.opera_minus = 0
self.opera_mul = 0
self.opera_div = 0 app = QtGui.QApplication(sys.argv)
wi = MyWidget()
wi.show()
app.exec_()

PyQt4(简单计算器)的更多相关文章

  1. 1.C#WinForm基础制作简单计算器

    利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...

  2. 菜鸟学Android编程——简单计算器《一》

    菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...

  3. PAT 06-1 简单计算器

    想看一般简单计算器实现的看客不好意思了,这不是你想要点东西,此处题设为“只能进行加减乘除”.“都是整数”.”优先级相同“和"从左到右".此题来自PAT(http://www.pat ...

  4. php大力力 [005节] php大力力简单计算器001

    2015-08-22 php大力力005. php大力力简单计算器001: 上网看视频,看了半天,敲击代码,如下: <html> <head> <title>简单计 ...

  5. PHP实现简单计算器

    <!--简单的计算器--> <!DOCTYPE html> <html> <head> <title>PHP实现简单计算器</titl ...

  6. c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;

    网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...

  7. JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例

    ¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为: ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件. ¨< ...

  8. 一个用WPF做的简单计算器源代码

    一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...

  9. hdu 1237 简单计算器

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1237 简单计算器 Description 读入一个只包含 +, -, *, / 的非负整数计算表达式, ...

  10. 李洪强漫谈iOS开发[C语言-042]-简单计算器

    李洪强漫谈iOS开发[C语言-042]-简单计算器

随机推荐

  1. Windows10下搭建TensorFlow环境

    转载请注明源出处:http://www.cnblogs.com/lighten/p/6753695.html 这篇文章介绍了一下在Windows上安装TensorFlow的步骤,主要是翻译了一下官方的 ...

  2. EF基础知识小记四(数据库=>模型设计器)

    EF基础知识小记三(设计器=>数据库)介绍了如何创建一个空设计器模型,并如何将模型同步到数据库的表中,本文则主要介绍如何将一个存在的数据库同步到模型设计器中.为了能快速的模拟这个过程,给出一下建 ...

  3. mybatis的小问题记录

    mybatis的小问题记录 问题描述:mybaitis中的if判断字符串的时候错误写法如下(刚开始没发现): <if test="placeType='2'"> sql ...

  4. Disconf 学习系列之Disconf 与 Diamond的横向对比(图文详解)

    不多说,直接上干货! Disconf 学习系列之Disconf是什么? Disconf 是来自百度的分布式配置管理平台,包括百度.滴滴出行.银联.网易.拉勾网.苏宁易购.顺丰科技 等知名互联网公司正在 ...

  5. Go语言学习笔记十一: 切片(slice)

    Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...

  6. Cocos2d-x游戏导出android工程,提取cocos的so文件

      Cocos2d-x游戏导出android工程,提取cocos的so文件   原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件, 使用ndk ...

  7. Date类学习总结(Calendar Date 字符串 相互转换 格式化)

    Date类学习总结 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,yea ...

  8. kafka-2.11-0.11集群搭建

    kafka集群依赖于zookeeper,所以需要先搭建zookeeper集群,kafka默认自带了内建的zookeeper,建议使用自己外搭建的zookeeper,这样比较灵活并且解耦服务,同时也可以 ...

  9. Dubbo2.7源码分析-SPI的应用

    SPI简介 SPI是Service Provider Interface的缩写,即服务提供接口(翻译出来好绕口,还是不翻译的好),实质上是接口,作用是对外提供服务. SPI是Java的一种插件机制,可 ...

  10. Java : 传值or传引用?

    那看看这句经典名言:O'Reilly's Java in a Nutshell by David Flanagan (see Resources) puts it best: "Java m ...