随便写写

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. Pl/SQl 安装和配置Oracle 数据库连接

    在进行企业开发时,数据库(oracle)一般在我们本地安装的:另外,oracle数据库比较大,在本地安装,会拖慢电脑的速度.我们可以通过oracle客户端,远程连接数据库.下面介绍自己的安装方式 1. ...

  2. 浅谈Android Studio中项目结构中project模式的各个文件和文件夹

    致敬郭霖,这些知识是从第一行代码第二版中直接码下来的,谢谢他,注意每个条目前是否有. 1..gradle和.idea 这两个目录下放置的都是Android Studio自动生成的一些文件,我们无需关心 ...

  3. IDEA里点击Build,再Build Artifacts没反应,灰色的?解决办法(图文详解)

    不多说,直接上干货! 问题详情 如下:点击Build ,再 Build -> Build Artifacts,没反应??? 解决办法 1.File,再Project Structure 2.然后 ...

  4. 带你了解数据库中JOIN的用法

    前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点.本次会介绍数据库 ...

  5. Chapter 3 Phenomenon——6

    A low oath made me aware that someone was with me, and the voice was impossible not to recognize. 某人 ...

  6. [笔记] print函数进阶

      1.1print(values=None,sep='',end='\n',file=sys.stdout,flush=False) 参数: values:输出到控制台的string sep:设置输 ...

  7. windows 系统安装 IIS 以及配置 web

    Win7系统或win8自带了IIS和framework,不需要单独去下载,只需要开启后就可以运行asp.net程序 由于时间关系,先分享两个关于这个的链接: win7安装iis及web配置教程 htt ...

  8. BATJ面试必会之并发篇

    一.线程状态转换 新建(New) 可运行(Runnable) 阻塞(Blocking) 无限期等待(Waiting) 限期等待(Timed Waiting) 死亡(Terminated) 二.使用线程 ...

  9. Visual Basic了解

    Visual Basic是一种由微软公司开发的结构化的.模块化的.面向对象的.包含协助开发环境的事件驱动为机制的可视化程序设计语言.这是一种可用于微软自家产品开发的语言.它源自于Basic编程语言.V ...

  10. C# 小软件部分(二)

     此次又新增了一些新的功能,直接接着上次的介绍吧 上次博客介绍地址:http://www.cnblogs.com/Liyuting/p/8540592.html 这次新增了三个功能,具体如下: 一.网 ...