PyQt4(简单计算器)
随便写写

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.C#WinForm基础制作简单计算器
利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...
- 菜鸟学Android编程——简单计算器《一》
菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...
- PAT 06-1 简单计算器
想看一般简单计算器实现的看客不好意思了,这不是你想要点东西,此处题设为“只能进行加减乘除”.“都是整数”.”优先级相同“和"从左到右".此题来自PAT(http://www.pat ...
- php大力力 [005节] php大力力简单计算器001
2015-08-22 php大力力005. php大力力简单计算器001: 上网看视频,看了半天,敲击代码,如下: <html> <head> <title>简单计 ...
- PHP实现简单计算器
<!--简单的计算器--> <!DOCTYPE html> <html> <head> <title>PHP实现简单计算器</titl ...
- c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;
网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...
- JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为: ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件. ¨< ...
- 一个用WPF做的简单计算器源代码
一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...
- hdu 1237 简单计算器
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1237 简单计算器 Description 读入一个只包含 +, -, *, / 的非负整数计算表达式, ...
- 李洪强漫谈iOS开发[C语言-042]-简单计算器
李洪强漫谈iOS开发[C语言-042]-简单计算器
随机推荐
- 对称(DES/AES)与非对称(RSA/SSL/数字证书)加密介绍及实际应用
本文不对具体的算法做深入研究,只是讲解各种安全算法的原理和使用场景. 一.数据校验算法 数据校验,是为保护数据的完整性,用一种指定的算法对原始数据计算出的一个校验值.当接收方用同样的算法再算一次校验值 ...
- windows下python3.6版本安装pygame
参考:http://blog.csdn.net/a380331382/article/details/77063152 首先,进入这个网站:http://www.lfd.uci.edu/~gohlke ...
- svn新增文件时自动给文件设置强制只读属性needs-lock
1.从SVN客户端的“设置”->常规设置-> Subversion->Subversion 配置文件-> 编辑按钮 -> 打开配置文件 2.找到[miscellany], ...
- Glide的用法
最基本用法 glide采用的都是流接口方式 简单的从网络加载图片 Glide.with(context).load(internetUrl).into(targetImageView); 从文件加载 ...
- Tomcat配置https、访问http自动跳转至https
1.配置Tomcat,打开$CATALINA_HOME/conf/server.xml,修改如下 <Connector port="8080" protocol=" ...
- java学习-get和post请求
摘要 看完本文可以知道,使用java原生编写get/post请求的步骤,进行网络请求时应该注意的地方. 这里使用java自带的HttpUrlConnection对象进行网络请求, 请求步骤大致分为五步 ...
- 6-nginx-会话一致性解决(sesion一致)
由于tomcat使用的为集群, 通过nginx访问时轮询不同的tomcat, 使得session无法统一, 所以将session单独抽取出来做共享session. 此tomcat版本为 7.0.61. ...
- MicrosoftOfficeProfessionalPlus2013激活方法
MicrosoftOfficeProfessionalPlus2013已经使用很久(估计快一年了吧),但一直是未激活状态,每次打开都要弹出那个未激活的提示信息,很烦,但不知道自己怎么能够忍受这么久的, ...
- Spring MVC之源码速读之RequestMappingHandlerAdapter
spring-webmvc-4.3.19.RELEASE 下面来看DispatcherServlet中的执行: /** * Exposes the DispatcherServlet-specific ...
- msdn 中MethodBase.Invoke 方法 介绍中的坑
模块开发总结: c#动态调用webservices 来自网络及使用心得. msdn: MethodBase.Invoke 方法 (Object, Object[]) 使用指定的参数调用当前实例所表示的 ...