From 28f8d91fe8df75dae5ae47ef9efa3cf4fe599c8b Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Thu, 30 Mar 2017 17:54:55 +0800
Subject: [PATCH 01/11] =?UTF-8?q?=E6=98=AF=E6=89=93=E5=8F=91=E6=96=AF?=
=?UTF-8?q?=E8=92=82=E8=8A=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
calc.ui | 8 ++++----
2 files changed, 57 insertions(+), 9 deletions(-)
diff --git a/calc.py b/calc.py
index b9ecbd5..aa11120 100644
--- a/calc.py
+++ b/calc.py
@@ -1,3 +1,4 @@
+#coding:utf-8
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
@@ -7,13 +8,60 @@ class Calc(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
uic.loadUi('calc.ui',self)
-
-
-
-
+ self.pushButton0.clicked.connect(self.a)
+ self.pushButton1.clicked.connect(self.b)
+ self.pushButton2.clicked.connect(self.c)
+ self.pushButton3.clicked.connect(self.d)
+ self.pushButton4.clicked.connect(self.e)
+ self.pushButton5.clicked.connect(self.f)
+ self.pushButton6.clicked.connect(self.g)
+ self.pushButton7.clicked.connect(self.h)
+ self.pushButton8.clicked.connect(self.k)
+ self.pushButton9.clicked.connect(self.m)
+ self.pushButton_clear.clicked.connect(self.calc_clear)
+ self.pushButton_add.clicked.connect(self.calc_add)
+ self.pushButton_sub.clicked.connect(self.calc_sub)
+ self.pushButton_div.clicked.connect(self.calc_div)
+ self.pushButton_mul.clicked.connect(self.calc_mul)
+ self.pushButton_dot.clicked.connect(self.calc_dot)
+ self.pushButton_equal.clicked.connect(self.calc_equal)
+
+ def a(self):
+ print '我被点击了0'
+ def b(self):
+ print '我被点击了1'
+ def c(self):
+ print '我被点击了2'
+ def d(self):
+ print '我被点击了3'
+ def e(self):
+ print '我被点击了4'
+ def f(self):
+ print '我被点击了5'
+ def g(self):
+ print '我被点击了6'
+ def h(self):
+ print '我被点击了7'
+ def k(self):
+ print '我被点击了8'
+ def m(self):
+ print '我被点击了9'
+ def calc_add(self):
+ print '我被点击了add===='
+ def calc_sub(self):
+ print '我被点击了sub===='
+ def calc_div(self):
+ print '我被点击了div==='
+ def calc_mul(self):
+ print '我被点击了mul==='
+ def calc_equal(self):
+ print '我被点击了equal==='
+ def calc_dot(self):
+ print '我被点击了dot==='
+ def calc_clear(self):
+ print '我被点击了clear==='
if __name__ == '__main__':
app = QApplication(sys.argv)
- print help(QApplication)
calc = Calc()
calc.show()
app.exec_()
diff --git a/calc.ui b/calc.ui
index 5b653a6..69d1b64 100644
--- a/calc.ui
+++ b/calc.ui
@@ -232,7 +232,7 @@
.
-
+
150
@@ -252,7 +252,7 @@
+
-
+
150
@@ -272,7 +272,7 @@
-
-
+
150
@@ -292,7 +292,7 @@
*
-
+
150
--
Gitee
From caf45b47c47dd7af74f6dee04f2aa44ab3e84176 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Thu, 30 Mar 2017 19:49:43 +0800
Subject: [PATCH 02/11] 20170330
---
abb.txt | 1 +
addd.txt | 2 ++
calc.py | 12 ++++++++++++
3 files changed, 15 insertions(+)
create mode 100644 abb.txt
create mode 100644 addd.txt
diff --git a/abb.txt b/abb.txt
new file mode 100644
index 0000000..a583f0c
--- /dev/null
+++ b/abb.txt
@@ -0,0 +1 @@
+Է
\ No newline at end of file
diff --git a/addd.txt b/addd.txt
new file mode 100644
index 0000000..f1ab453
--- /dev/null
+++ b/addd.txt
@@ -0,0 +1,2 @@
+Ŀͻͷ˵Ŀռֿ˵
+ļʿȽ
diff --git a/calc.py b/calc.py
index aa11120..ed3e255 100644
--- a/calc.py
+++ b/calc.py
@@ -26,6 +26,11 @@ class Calc(QMainWindow):
self.pushButton_dot.clicked.connect(self.calc_dot)
self.pushButton_equal.clicked.connect(self.calc_equal)
+
+
+
+
+
def a(self):
print '我被点击了0'
def b(self):
@@ -60,6 +65,13 @@ class Calc(QMainWindow):
print '我被点击了dot==='
def calc_clear(self):
print '我被点击了clear==='
+
+
+
+
+
+
+
if __name__ == '__main__':
app = QApplication(sys.argv)
calc = Calc()
--
Gitee
From 199e60ea1fc4a2ca1e3b3c1e18b67275fcb09651 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Fri, 31 Mar 2017 09:16:23 +0800
Subject: [PATCH 03/11] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?=
=?UTF-8?q?=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
2017_3_30/calculator.py | 17 --
2017_3_30/calculator.ui | 631 ----------------------------------------
abb.txt | 1 -
addd.txt | 2 -
4 files changed, 651 deletions(-)
delete mode 100644 2017_3_30/calculator.py
delete mode 100644 2017_3_30/calculator.ui
delete mode 100644 abb.txt
delete mode 100644 addd.txt
diff --git a/2017_3_30/calculator.py b/2017_3_30/calculator.py
deleted file mode 100644
index a2dfefa..0000000
--- a/2017_3_30/calculator.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import sys
-from PyQt5 import uic
-from PyQt5.QtWidgets import QApplication,QMainWindow
-
-
-
-class Calc(QMainWindow):
- def __init__(self):
- QMainWindow.__init__(self)
- uic.loadUi('calculator.ui',self)
-
-
-if __name__ == '__main__':
- app = QApplication(['calculator.py'])
- calc = Calc()
- calc.show()
- app.exec_()
\ No newline at end of file
diff --git a/2017_3_30/calculator.ui b/2017_3_30/calculator.ui
deleted file mode 100644
index 7df6de9..0000000
--- a/2017_3_30/calculator.ui
+++ /dev/null
@@ -1,631 +0,0 @@
-
-
- MainWindow
-
-
-
- 0
- 0
- 334
- 314
-
-
-
-
- 10
- 0
-
-
-
-
- 800
- 800
-
-
-
- MainWindow
-
-
-
-
-
- 50
- 170
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 1
-
-
-
- 50
- 50
-
-
-
-
-
-
- 100
- 170
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
-
- 50
- 50
-
-
-
-
- 50
- 50
-
-
-
- 2
-
-
-
- 50
- 50
-
-
-
-
-
-
- 150
- 170
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 3
-
-
-
- 50
- 50
-
-
-
-
-
-
- 50
- 120
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 4
-
-
-
- 50
- 50
-
-
-
-
-
-
- 100
- 120
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 5
-
-
-
- 50
- 50
-
-
-
-
-
-
- 150
- 120
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 6
-
-
-
- 50
- 50
-
-
-
-
-
-
- 50
- 70
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 7
-
-
-
- 50
- 50
-
-
-
-
-
-
- 100
- 70
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 8
-
-
-
- 50
- 50
-
-
-
-
-
-
- 150
- 70
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- 9
-
-
-
- 50
- 50
-
-
-
-
-
-
- 50
- 220
- 91
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 800
- 800
-
-
-
- 0
-
-
-
- 50
- 50
-
-
-
-
-
-
- 150
- 220
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- .
-
-
-
- 50
- 50
-
-
-
-
-
-
- 200
- 220
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- +
-
-
-
- 50
- 50
-
-
-
-
-
-
- 200
- 170
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- -
-
-
-
- 50
- 50
-
-
-
-
-
-
- 200
- 120
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- *
-
-
-
- 50
- 50
-
-
-
-
-
-
- 200
- 70
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- /
-
-
-
- 50
- 50
-
-
-
-
-
-
- 250
- 170
- 41
- 91
-
-
-
-
- 10
- 10
-
-
-
-
- 100
- 100
-
-
-
- =
-
-
-
- 50
- 50
-
-
-
-
-
-
- 250
- 120
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- %
-
-
-
- 50
- 50
-
-
-
-
-
-
- 250
- 70
- 41
- 41
-
-
-
-
- 10
- 10
-
-
-
-
- 50
- 50
-
-
-
- C
-
-
-
- 50
- 50
-
-
-
-
-
-
- 50
- 20
- 241
- 51
-
-
-
-
-
-
-
-
- 800
- 800
-
-
-
-
-
-
-
diff --git a/abb.txt b/abb.txt
deleted file mode 100644
index a583f0c..0000000
--- a/abb.txt
+++ /dev/null
@@ -1 +0,0 @@
-Է
\ No newline at end of file
diff --git a/addd.txt b/addd.txt
deleted file mode 100644
index f1ab453..0000000
--- a/addd.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Ŀͻͷ˵Ŀռֿ˵
-ļʿȽ
--
Gitee
From cf2dc1229bb6d83e1d58ddb9ecc59c85e15a47a1 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Fri, 31 Mar 2017 09:24:58 +0800
Subject: [PATCH 04/11] =?UTF-8?q?=E7=AE=80=E5=8C=96=E6=8C=89=E9=92=AE?=
=?UTF-8?q?=E8=B0=83=E7=94=A8=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 95 ++++++++++++++++-----------------------------------------
1 file changed, 27 insertions(+), 68 deletions(-)
diff --git a/calc.py b/calc.py
index ed3e255..5889272 100644
--- a/calc.py
+++ b/calc.py
@@ -1,83 +1,42 @@
-#coding:utf-8
+# coding:utf-8
import sys
from PyQt5 import uic
-from PyQt5.QtWidgets import QApplication
+from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow
+
class Calc(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
- uic.loadUi('calc.ui',self)
- self.pushButton0.clicked.connect(self.a)
- self.pushButton1.clicked.connect(self.b)
- self.pushButton2.clicked.connect(self.c)
- self.pushButton3.clicked.connect(self.d)
- self.pushButton4.clicked.connect(self.e)
- self.pushButton5.clicked.connect(self.f)
- self.pushButton6.clicked.connect(self.g)
- self.pushButton7.clicked.connect(self.h)
- self.pushButton8.clicked.connect(self.k)
- self.pushButton9.clicked.connect(self.m)
- self.pushButton_clear.clicked.connect(self.calc_clear)
- self.pushButton_add.clicked.connect(self.calc_add)
- self.pushButton_sub.clicked.connect(self.calc_sub)
- self.pushButton_div.clicked.connect(self.calc_div)
- self.pushButton_mul.clicked.connect(self.calc_mul)
- self.pushButton_dot.clicked.connect(self.calc_dot)
- self.pushButton_equal.clicked.connect(self.calc_equal)
-
-
-
-
+ uic.loadUi('calc.ui', self)
+ btns = [
+ self.pushButton0
+ self.pushButton1
+ self.pushButton2
+ self.pushButton3
+ self.pushButton4
+ self.pushButton5
+ self.pushButton6
+ self.pushButton7
+ self.pushButton8
+ self.pushButton9
+ self.pushButton_clear
+ self.pushButton_add
+ self.pushButton_sub
+ self.pushButton_div
+ self.pushButton_mul
+ self.pushButton_dot
+ self.pushButton_equal
+ ]
+
+ map = (lambda btn: btn.clicked.connect(self.f), btns)
-
- def a(self):
- print '我被点击了0'
- def b(self):
- print '我被点击了1'
- def c(self):
- print '我被点击了2'
- def d(self):
- print '我被点击了3'
- def e(self):
- print '我被点击了4'
def f(self):
- print '我被点击了5'
- def g(self):
- print '我被点击了6'
- def h(self):
- print '我被点击了7'
- def k(self):
- print '我被点击了8'
- def m(self):
- print '我被点击了9'
- def calc_add(self):
- print '我被点击了add===='
- def calc_sub(self):
- print '我被点击了sub===='
- def calc_div(self):
- print '我被点击了div==='
- def calc_mul(self):
- print '我被点击了mul==='
- def calc_equal(self):
- print '我被点击了equal==='
- def calc_dot(self):
- print '我被点击了dot==='
- def calc_clear(self):
- print '我被点击了clear==='
-
-
+ print self.sender().text()
-
-
-
-if __name__ == '__main__':
+if __name__ == '__main__':
app = QApplication(sys.argv)
calc = Calc()
calc.show()
app.exec_()
-
-
-
-
--
Gitee
From b2128e532246ab97ecbd829903798a46ca5c42a6 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Fri, 31 Mar 2017 09:48:38 +0800
Subject: [PATCH 05/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9map=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/calc.py b/calc.py
index 5889272..c0d89d9 100644
--- a/calc.py
+++ b/calc.py
@@ -10,32 +10,33 @@ class Calc(QMainWindow):
QMainWindow.__init__(self)
uic.loadUi('calc.ui', self)
btns = [
- self.pushButton0
- self.pushButton1
- self.pushButton2
- self.pushButton3
- self.pushButton4
- self.pushButton5
- self.pushButton6
- self.pushButton7
- self.pushButton8
- self.pushButton9
- self.pushButton_clear
- self.pushButton_add
- self.pushButton_sub
- self.pushButton_div
- self.pushButton_mul
- self.pushButton_dot
- self.pushButton_equal
+ self.pushButton0,
+ self.pushButton1,
+ self.pushButton2,
+ self.pushButton3,
+ self.pushButton4,
+ self.pushButton5,
+ self.pushButton6,
+ self.pushButton7,
+ self.pushButton8,
+ self.pushButton9,
+ self.pushButton_clear,
+ self.pushButton_add,
+ self.pushButton_sub,
+ self.pushButton_div,
+ self.pushButton_mul,
+ self.pushButton_dot,
+ self.pushButton_equal,
]
- map = (lambda btn: btn.clicked.connect(self.f), btns)
+ map(lambda btn: btn.clicked.connect(self.f), btns)
def f(self):
print self.sender().text()
if __name__ == '__main__':
+
app = QApplication(sys.argv)
calc = Calc()
calc.show()
--
Gitee
From 162151284cf6cf2605d1b078fdbb85049e7aac9e Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Fri, 31 Mar 2017 11:21:07 +0800
Subject: [PATCH 06/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=90=E7=AE=97?=
=?UTF-8?q?=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 26 ++++++++++++++++++++++++--
calc.ui | 2 +-
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/calc.py b/calc.py
index c0d89d9..61eeca8 100644
--- a/calc.py
+++ b/calc.py
@@ -8,7 +8,15 @@ from PyQt5.QtWidgets import QMainWindow
class Calc(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
+ self.x = None
+ self.y = None
+ self.result = None
+ self.operator = None
+ self.equal = None
+ self.clear = None
+
uic.loadUi('calc.ui', self)
+
btns = [
self.pushButton0,
self.pushButton1,
@@ -29,9 +37,23 @@ class Calc(QMainWindow):
self.pushButton_equal,
]
- map(lambda btn: btn.clicked.connect(self.f), btns)
+ map(lambda btn: btn.clicked.connect(self.click_on_button), btns)
+
+
+
+ def calculate(self):
+ """
+ 如果x,y,operater不为空,计算结果。
+ """
+ if self.x and self.y and self.operator:
+ self.result = str(eval("%s%s%s"%(self.x,self.operator,self.y)))
+ self.text_result.setText(self.result)
+
+
+
+
- def f(self):
+ def click_on_button(self):
print self.sender().text()
diff --git a/calc.ui b/calc.ui
index 69d1b64..12e7f52 100644
--- a/calc.ui
+++ b/calc.ui
@@ -372,7 +372,7 @@
0
-
+
false
--
Gitee
From 70897ebc9138fb053ce64c81f6dac1db39c8bb87 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Fri, 31 Mar 2017 16:47:52 +0800
Subject: [PATCH 07/11] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=9F=BA=E6=9C=AC?=
=?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
calc.ui | 23 ++++++++++++++--------
2 files changed, 67 insertions(+), 15 deletions(-)
diff --git a/calc.py b/calc.py
index 61eeca8..8d26077 100644
--- a/calc.py
+++ b/calc.py
@@ -13,7 +13,7 @@ class Calc(QMainWindow):
self.result = None
self.operator = None
self.equal = None
- self.clear = None
+
uic.loadUi('calc.ui', self)
@@ -39,22 +39,64 @@ class Calc(QMainWindow):
map(lambda btn: btn.clicked.connect(self.click_on_button), btns)
-
-
def calculate(self):
"""
如果x,y,operater不为空,计算结果。
"""
if self.x and self.y and self.operator:
- self.result = str(eval("%s%s%s"%(self.x,self.operator,self.y)))
+ s = "%s%s%s" %(self.x,self.operator,self.y)
+ print s
+ self.result = str(eval(s))
self.text_result.setText(self.result)
+ def click_on_button(self):
+ print "点击按钮前:",self.x,self.operator,self.y
+ value = self.sender().text()
+
+ # 如果你点击的是数字,print该数字
+ if value in '0123456789.':
+ print "你点击的数字是:",value
+
+ if self.operator is None:
+ #如果点击的是数字,保存到x或追加到x
+ if self.x is None:
+ self.x = value
+ else:
+ self.x += value
+ self.text_result.setText(self.x)
+ else:
+ if self.y is None:
+ self.y = value
+ else:
+ self.y += value
+ self.text_result.setText(self.y)
+
+
+ # 如果点击的是运算符
+ elif value in '+-*/':
+ print "你点击的是:", value
+ self.operator = value
+ self.text_result.setText("")
+
+ # 如果点击的是等号
+ elif value in '=':
+ print "你点击的是=,执行=号", value
+ self.calculate()
+ self.text_result.setText(self.result)
+ # 如果点击的是C
+ elif value in 'C':
+ print "你点击的是C,执行清除"
+ self.clear()
+ print "点击按钮后:",self.x,self.operator,self.y
-
- def click_on_button(self):
- print self.sender().text()
+ def clear(self):
+ self.x = None
+ self.y = None
+ self.result = None
+ self.operator = None
+ self.text_result.setText("")
if __name__ == '__main__':
@@ -62,4 +104,7 @@ if __name__ == '__main__':
app = QApplication(sys.argv)
calc = Calc()
calc.show()
+
+
+
app.exec_()
diff --git a/calc.ui b/calc.ui
index 12e7f52..32bb579 100644
--- a/calc.ui
+++ b/calc.ui
@@ -372,25 +372,32 @@
0
-
-
- false
-
+
- 0
- 0
- 241
+ 10
+ 10
+ 231
41
- 15
+ 新宋体
+ 20
75
true
+
+ Qt::RightToLeft
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
--
Gitee
From 253400116483287a6bdc7f0412937ce561c0d505 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Fri, 31 Mar 2017 19:18:23 +0800
Subject: [PATCH 08/11] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E4=B8=AA...?=
=?UTF-8?q?=20=E8=BF=90=E7=AE=97=E7=BB=93=E6=9D=9F=E7=BB=A7=E7=BB=AD?=
=?UTF-8?q?=E8=BE=93=E5=85=A5=E6=95=B0=E5=AD=97=E8=A2=AB=E5=8A=A0=E5=88=B0?=
=?UTF-8?q?x=E4=B8=8A=EF=BC=8C=E6=B2=A1=E8=A7=A3=E5=86=B3=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 104 +++++++++++++++++++++++++++++++++++++++++++++++---------
calc.ui | 18 +++++++---
2 files changed, 102 insertions(+), 20 deletions(-)
diff --git a/calc.py b/calc.py
index 8d26077..16fbd76 100644
--- a/calc.py
+++ b/calc.py
@@ -39,16 +39,46 @@ class Calc(QMainWindow):
map(lambda btn: btn.clicked.connect(self.click_on_button), btns)
+
+ #进行计算
def calculate(self):
"""
如果x,y,operater不为空,计算结果。
"""
- if self.x and self.y and self.operator:
+ #运行计算前判断x是不是为空,如果为空,x=0
+ if self.x:
+ s = "%s%s%s" %(self.x,self.operator,self.y)
+ print s
+ self.result = str(eval(s))
+ self.text_result.setText(self.result)
+ else:
+ self.x = "0"
s = "%s%s%s" %(self.x,self.operator,self.y)
print s
self.result = str(eval(s))
self.text_result.setText(self.result)
+
+
+
+
+
+
+
+ def equ():
+ """
+ =号运算
+ """
+
+
+ pass
+
+
+
+
+
+
+ #识别点击按钮
def click_on_button(self):
print "点击按钮前:",self.x,self.operator,self.y
value = self.sender().text()
@@ -61,14 +91,28 @@ class Calc(QMainWindow):
#如果点击的是数字,保存到x或追加到x
if self.x is None:
self.x = value
- else:
- self.x += value
+ else:
+ #如果value是".",判断"."是否在x里面
+ if value in ".":
+ if "." in self.x:
+ pass
+ else:
+ self.x += value
+ else:
+ self.x += value
+
self.text_result.setText(self.x)
else:
if self.y is None:
self.y = value
else:
- self.y += value
+ if value in ".":
+ if "." in self.y:
+ pass
+ else:
+ self.y += value
+ else:
+ self.y += value
self.text_result.setText(self.y)
@@ -76,13 +120,42 @@ class Calc(QMainWindow):
elif value in '+-*/':
print "你点击的是:", value
self.operator = value
- self.text_result.setText("")
+ self.text_result.setText(value)
# 如果点击的是等号
elif value in '=':
- print "你点击的是=,执行=号", value
- self.calculate()
- self.text_result.setText(self.result)
+ #=运行前判断y是不是为空,如果是空的,y=x
+ if self.y:
+ #判断做除法计算时,y是否为0
+ if self.operator in '/':
+ if self.y in '0':
+ self.text_result.setText("除数不能为0")
+ else:
+ print "你点击的是=,执行=号", value
+ self.calculate()
+ self.text_result.setText(self.result)
+ self.x = self.result
+ self.y = None
+ self.operator = None
+ else:
+ print "你点击的是=,执行=号", value
+ self.calculate()
+ self.text_result.setText(self.result)
+ self.x = self.result
+ self.y = None
+ self.operator = None
+
+ else:
+ self.y = self.x
+ self.operator = "+"
+ print "你点击的是=,执行=号", value
+ self.calculate()
+ self.text_result.setText(self.result)
+ self.x = self.result
+ self.y = None
+ self.operator = None
+
+
# 如果点击的是C
elif value in 'C':
@@ -100,11 +173,10 @@ class Calc(QMainWindow):
if __name__ == '__main__':
-
- app = QApplication(sys.argv)
- calc = Calc()
- calc.show()
-
-
-
- app.exec_()
+ try:
+ app = QApplication(sys.argv)
+ calc = Calc()
+ calc.show()
+ app.exec_()
+ except Exception, e:
+ print e
diff --git a/calc.ui b/calc.ui
index 32bb579..386a9de 100644
--- a/calc.ui
+++ b/calc.ui
@@ -376,22 +376,32 @@
10
- 10
+ 0
231
41
- 新宋体
+ Aharoni
20
- 75
- true
+ 9
+ false
+ false
Qt::RightToLeft
+
+ border-color: rgb(255, 34, 104);
+font: 75 20pt "Aharoni";
+color: rgb(85, 0, 255);
+
+
+border-top-color: rgb(0, 85, 255);
+background-color: rgb(255, 255, 255);
+
--
Gitee
From 6cbdbbf7128ed4213cbb8617cdcb7e672e95f580 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Sat, 1 Apr 2017 17:50:00 +0800
Subject: [PATCH 09/11] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=86=99=E4=B8=80?=
=?UTF-8?q?=E4=B8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 243 ++++++++++++++++++++++++++++----------------------------
1 file changed, 123 insertions(+), 120 deletions(-)
diff --git a/calc.py b/calc.py
index 16fbd76..59fb373 100644
--- a/calc.py
+++ b/calc.py
@@ -8,15 +8,8 @@ from PyQt5.QtWidgets import QMainWindow
class Calc(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
- self.x = None
- self.y = None
- self.result = None
- self.operator = None
- self.equal = None
-
-
- uic.loadUi('calc.ui', self)
+ uic.loadUi('calc.ui', self) # ui动作识别
btns = [
self.pushButton0,
self.pushButton1,
@@ -34,29 +27,135 @@ class Calc(QMainWindow):
self.pushButton_div,
self.pushButton_mul,
self.pushButton_dot,
- self.pushButton_equal,
+ self.pushButton_equal
]
+ for btn in btns:
+ btn.clicked.connect(self.click_on_button)
- map(lambda btn: btn.clicked.connect(self.click_on_button), btns)
- #进行计算
- def calculate(self):
- """
- 如果x,y,operater不为空,计算结果。
+ def click_on_button(self):
+ """先进入初始状态,进入计算,显示结果,
+ 点c进入初始状态
"""
- #运行计算前判断x是不是为空,如果为空,x=0
- if self.x:
- s = "%s%s%s" %(self.x,self.operator,self.y)
+
+ def start(self): #初始状态
+ self.x = None # 操作数
+ self.y = None # 被操作数
+ self.operator = None # 操作符
+ self.displaying = '0' # 结果
+
+ def calculate(): #进行计算
+ s = "%s%s%s"%(self.x,self.operator,self.y)
print s
- self.result = str(eval(s))
- self.text_result.setText(self.result)
- else:
- self.x = "0"
- s = "%s%s%s" %(self.x,self.operator,self.y)
+ self.do_result = str(eval(s))
+ self.displaying = self.do_result
+
+
+ def display(d):
+ self.text_result.setText(d) #显示结果
+
+
+ # self.x = '1' # 操作数,假设进行运算时的值
+ # self.y = '5' # 被操作数,假设进行运算时的值
+ # self.operator = '+' # 操作符,假设进行运算时的值
+
+ # ================================================
+
+ self.do_result = None: #尝试把结果当作参数赋值为空
+
+
+ value = self.sender().text()
+ def assignment_x(value): #给x赋值
+ self.x += value
+ def assignment_y(value): #给y赋值
+ self.y += value
+
+ if self value in "0123456789.":
+ print self.x,self.operator,self.y,self.do_result
+ if self.operator and self.do_result:
+ self.x += value
+ else:
+ self.y += value
+
+
+
+
+
+
+ # value = self.sender().text()
+ # if value in "0123456789.":
+ # if self.operator is not None: # 有运算符
+ # if self.y is not None: #有y
+ # self.y =self.y + value
+ # else:#无y
+ # if value != '0':
+ # self.y = value
+ # self.text_result.setText(self.y)
+
+ # else:#无运算符
+ # if self.x is not None:#有x
+ # self.x = self.x + value
+
+ # else:
+ # if value != '0':
+ # self.x = value
+ # self.text_result.setText(self.x)
+
+
+ # # 开始处理运算符
+ # # 1.点运算符时记录运算符
+ # # 2.点运算符时计算结果,然后记录运算符(x,y,oper都有值)
+ # # 2.点运算符时记录运算符并计算结果(x,y,oper都有值)
+ # # 3.点运算符时记录运算符,并将x置为0(x无值)
+
+
+ # elif value in "+-*/":
+
+ # if self.x is None:
+ # self.x = 0
+ # if self.x and self.y and self.operator:
+ # self.calculate()
+ # self.operator = value
+
+ # # 处理点击等号的操作
+ # # 1.点等号时计算结果 (x,y,oper都有值)
+ # # 2.点等号时忽略等号 (x,y,oper不都有值)
+
+ # elif value == "=":
+ # if self.x and self.y and self.operator:
+ # self.calculate()
+
+ # else:
+ # print "您点击的是C"
+ # self.clear()
+ # print "点击按钮后:" ,self.x,self.operator,self.y
+
+
+ #=========================================================
+
+
+
+ def calculate(): #进行计算
+ s = "%s%s%s"%(self.x,self.operator,self.y)
print s
- self.result = str(eval(s))
- self.text_result.setText(self.result)
+ self.do_result = str(eval(s))
+ self.displaying = self.do_result
+
+
+ def display(d):
+ self.text_result.setText(d) #显示结果
+
+
+ #================================================================
+
+ # try:
+ # calculate() #测试calculate函数
+ # display(self.displaying) #测试display函数
+ # except Exception, e:
+ # print e
+
+
@@ -65,111 +164,15 @@ class Calc(QMainWindow):
- def equ():
- """
- =号运算
- """
- pass
- #识别点击按钮
- def click_on_button(self):
- print "点击按钮前:",self.x,self.operator,self.y
- value = self.sender().text()
-
- # 如果你点击的是数字,print该数字
- if value in '0123456789.':
- print "你点击的数字是:",value
-
- if self.operator is None:
- #如果点击的是数字,保存到x或追加到x
- if self.x is None:
- self.x = value
- else:
- #如果value是".",判断"."是否在x里面
- if value in ".":
- if "." in self.x:
- pass
- else:
- self.x += value
- else:
- self.x += value
-
- self.text_result.setText(self.x)
- else:
- if self.y is None:
- self.y = value
- else:
- if value in ".":
- if "." in self.y:
- pass
- else:
- self.y += value
- else:
- self.y += value
- self.text_result.setText(self.y)
-
-
- # 如果点击的是运算符
- elif value in '+-*/':
- print "你点击的是:", value
- self.operator = value
- self.text_result.setText(value)
-
- # 如果点击的是等号
- elif value in '=':
- #=运行前判断y是不是为空,如果是空的,y=x
- if self.y:
- #判断做除法计算时,y是否为0
- if self.operator in '/':
- if self.y in '0':
- self.text_result.setText("除数不能为0")
- else:
- print "你点击的是=,执行=号", value
- self.calculate()
- self.text_result.setText(self.result)
- self.x = self.result
- self.y = None
- self.operator = None
- else:
- print "你点击的是=,执行=号", value
- self.calculate()
- self.text_result.setText(self.result)
- self.x = self.result
- self.y = None
- self.operator = None
- else:
- self.y = self.x
- self.operator = "+"
- print "你点击的是=,执行=号", value
- self.calculate()
- self.text_result.setText(self.result)
- self.x = self.result
- self.y = None
- self.operator = None
-
-
-
- # 如果点击的是C
- elif value in 'C':
- print "你点击的是C,执行清除"
- self.clear()
- print "点击按钮后:",self.x,self.operator,self.y
-
-
- def clear(self):
- self.x = None
- self.y = None
- self.result = None
- self.operator = None
- self.text_result.setText("")
if __name__ == '__main__':
--
Gitee
From e4b32f6a75e880344fc2496fe558f28e232d1486 Mon Sep 17 00:00:00 2001
From: Yesteryou <59052127@qq.com>
Date: Sat, 1 Apr 2017 17:51:50 +0800
Subject: [PATCH 10/11] =?UTF-8?q?=E6=80=9D=E8=B7=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
"\350\256\241\347\256\227\345\231\250.xmind" | Bin 0 -> 17237 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 "\350\256\241\347\256\227\345\231\250.xmind"
diff --git "a/\350\256\241\347\256\227\345\231\250.xmind" "b/\350\256\241\347\256\227\345\231\250.xmind"
new file mode 100644
index 0000000000000000000000000000000000000000..00b6e312d7f160403042fd1bce5dad9d3d250369
GIT binary patch
literal 17237
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
Date: Mon, 3 Apr 2017 13:12:25 +0800
Subject: [PATCH 11/11] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AE=A1=E7=AE=97?=
=?UTF-8?q?=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
calc.py | 270 ++++++++++++++++++++++++++++----------------------------
1 file changed, 134 insertions(+), 136 deletions(-)
diff --git a/calc.py b/calc.py
index 59fb373..ba47bd3 100644
--- a/calc.py
+++ b/calc.py
@@ -9,6 +9,11 @@ class Calc(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
+ self.x = None # 操作数
+ self.y = None # 被操作数
+ self.operator = None # 操作符
+ self.do_result = None # 计算结果
+
uic.loadUi('calc.ui', self) # ui动作识别
btns = [
self.pushButton0,
@@ -32,147 +37,140 @@ class Calc(QMainWindow):
for btn in btns:
btn.clicked.connect(self.click_on_button)
-
-
def click_on_button(self):
- """先进入初始状态,进入计算,显示结果,
- 点c进入初始状态
+ """主要思想:
+ 每次点击按钮时,
+ 先判断结果是否有值,
+ 再判断y是否有值
+ 再判断运算符是否有值
+ 再判断x是否有值
"""
-
- def start(self): #初始状态
+ value = self.sender().text()
+ if value in "0123456789":
+ print "点击按钮前:", self.x, self.operator, self.y, self.do_result
+ if self.do_result: # 判断结果如果有值
+ self.x = value
+ self.text_result.setText(self.x)
+ self.do_result = None
+ self.operator = None
+ self.y = None
+ elif self.y: # 结果没有值时,判断y是如果有值
+ self.y += value
+ self.text_result.setText(self.y)
+ elif self.operator: # y如果没有有值,判断operator如果有值
+ self.y = value
+ self.text_result.setText(self.y)
+ elif self.x: # 运算符如果没有,判断x如果有值
+ self.x += value
+ self.text_result.setText(self.x)
+ else: # x如果没有值
+ self.x = value
+ self.text_result.setText(self.x)
+ print "点击按钮后:", self.x, self.operator, self.y, self.do_result
+
+ elif value in "+-*/":
+ print "点击按钮前:", self.x, self.operator, self.y, self.do_result
+ if self.do_result: # 判断结果如果有值
+ self.x = self.do_result
+ self.operator = value
+ self.text_result.setText(self.operator)
+ self.do_result = None
+ self.y = None
+ elif self.y: # y如果没有有值,判断operator如果有值
+ s = "%s%s%s" % (self.x, self.operator, self.y)
+ if float(self.y) == 0.0 and self.operator == '/': #运算符是除法,除数为0时
+ self.text_result.setText('除数不能为0')
+ self.x = None
+ self.y = None
+ self.operator = None
+ self.do_result = None
+ else:
+ self.do_result = str(eval(s))
+ self.text_result.setText(self.do_result)
+ self.x = self.do_result
+ self.y = None
+ self.operator = value
+ self.do_result = None
+ elif self.x: # 运算符如果没有,判断x如果有值
+ self.operator = value
+ self.text_result.setText(self.operator)
+ else: # x如果没有值
+ self.x = '0'
+ self.operator = value
+ self.text_result.setText(self.operator)
+ print "点击按钮后:", self.x, self.operator, self.y, self.do_result
+
+ elif value in '=':
+ if self.do_result:
+ self.x = self.do_result
+ s = "%s%s%s" % (self.x, self.operator, self.y)
+ if float(self.y) == 0.0 and self.operator == '/': #运算符是除法,除数为0时
+ self.text_result.setText('除数不能为0')
+ self.x = None
+ self.y = None
+ self.operator = None
+ self.do_result = None
+ else:
+ self.do_result = str(eval(s))
+ self.text_result.setText(self.do_result)
+ elif self.y:
+ s = "%s%s%s" % (self.x, self.operator, self.y)
+ if float(self.y) == 0.0 and self.operator == '/': #运算符是除法,除数为0时
+ self.text_result.setText('除数不能为0')
+ self.x = None
+ self.y = None
+ self.operator = None
+ self.do_result = None
+ else:
+ self.do_result = str(eval(s))
+ self.text_result.setText(self.do_result)
+ elif self.operator:
+ self.y = self.x
+ s = "%s%s%s" % (self.x, self.operator, self.y)
+ if float(self.y) == 0.0 and self.operator == '/': #运算符是除法,除数为0时
+ self.text_result.setText('除数不能为0')
+ self.x = None
+ self.y = None
+ self.operator = None
+ self.do_result = None
+ else:
+ self.do_result = str(eval(s))
+ self.text_result.setText(self.do_result)
+ elif self.x:
+ self.text_result.setText(self.x)
+
+ elif value in 'C':
self.x = None # 操作数
self.y = None # 被操作数
- self.operator = None # 操作符
- self.displaying = '0' # 结果
-
- def calculate(): #进行计算
- s = "%s%s%s"%(self.x,self.operator,self.y)
- print s
- self.do_result = str(eval(s))
- self.displaying = self.do_result
-
-
- def display(d):
- self.text_result.setText(d) #显示结果
-
-
- # self.x = '1' # 操作数,假设进行运算时的值
- # self.y = '5' # 被操作数,假设进行运算时的值
- # self.operator = '+' # 操作符,假设进行运算时的值
-
- # ================================================
-
- self.do_result = None: #尝试把结果当作参数赋值为空
-
-
- value = self.sender().text()
- def assignment_x(value): #给x赋值
- self.x += value
- def assignment_y(value): #给y赋值
- self.y += value
-
- if self value in "0123456789.":
- print self.x,self.operator,self.y,self.do_result
- if self.operator and self.do_result:
- self.x += value
+ self.operator = None # 操作符
+ self.do_result = None # 计算结果
+ self.text_result.setText('0')
+
+ elif value in '.':
+ if self.do_result:
+ self.x = '0.'
+ self.do_result = None
+ self.y = None
+ self.operator = None
+ self.text_result.setText(self.x)
+ elif self.y:
+ if '.' in self.y:
+ pass
+ else:
+ self.y += value
+ self.text_result.setText(self.y)
+ elif self.operator:
+ self.y = '0.'
+ self.text_result.setText(self.y)
+ elif self.x:
+ if '.' in self.x:
+ pass
+ else:
+ self.x += value
+ self.text_result.setText(self.x)
else:
- self.y += value
-
-
-
-
-
-
- # value = self.sender().text()
- # if value in "0123456789.":
- # if self.operator is not None: # 有运算符
- # if self.y is not None: #有y
- # self.y =self.y + value
- # else:#无y
- # if value != '0':
- # self.y = value
- # self.text_result.setText(self.y)
-
- # else:#无运算符
- # if self.x is not None:#有x
- # self.x = self.x + value
-
- # else:
- # if value != '0':
- # self.x = value
- # self.text_result.setText(self.x)
-
-
- # # 开始处理运算符
- # # 1.点运算符时记录运算符
- # # 2.点运算符时计算结果,然后记录运算符(x,y,oper都有值)
- # # 2.点运算符时记录运算符并计算结果(x,y,oper都有值)
- # # 3.点运算符时记录运算符,并将x置为0(x无值)
-
-
- # elif value in "+-*/":
-
- # if self.x is None:
- # self.x = 0
- # if self.x and self.y and self.operator:
- # self.calculate()
- # self.operator = value
-
- # # 处理点击等号的操作
- # # 1.点等号时计算结果 (x,y,oper都有值)
- # # 2.点等号时忽略等号 (x,y,oper不都有值)
-
- # elif value == "=":
- # if self.x and self.y and self.operator:
- # self.calculate()
-
- # else:
- # print "您点击的是C"
- # self.clear()
- # print "点击按钮后:" ,self.x,self.operator,self.y
-
-
- #=========================================================
-
-
-
- def calculate(): #进行计算
- s = "%s%s%s"%(self.x,self.operator,self.y)
- print s
- self.do_result = str(eval(s))
- self.displaying = self.do_result
-
-
- def display(d):
- self.text_result.setText(d) #显示结果
-
-
- #================================================================
-
- # try:
- # calculate() #测试calculate函数
- # display(self.displaying) #测试display函数
- # except Exception, e:
- # print e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ self.x = '0.'
+ self.text_result.setText(self.x)
if __name__ == '__main__':
--
Gitee