Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 07f3210

Browse files
Create calculator.py
Create calculator.py
1 parent 221f2a3 commit 07f3210

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed

‎Calculator/calculator.py‎

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
#!/usr/bin/python3
2+
#
3+
4+
from PyQt5.QtWidgets import *
5+
from PyQt5.QtCore import *
6+
from PyQt5.QtGui import *
7+
from PyQt5.uic import loadUi
8+
import sys
9+
width = 401
10+
height = 398
11+
class Window(QWidget):
12+
result = 0
13+
def __init__(self):
14+
super(Window,self).__init__()
15+
loadUi("calculator.ui",self)
16+
self.setWindowTitle("ماشین حساب")
17+
self.setGeometry(500,400,width,height)
18+
self.setFixedSize(width,height)
19+
20+
21+
self._plus.clicked.connect(self.plus)
22+
self._manfi.clicked.connect(self.manfi)
23+
self._zarb.clicked.connect(self.zarb)
24+
self._tagh.clicked.connect(self.taghsim)
25+
26+
self._0.clicked.connect(self.action_0)
27+
self._1.clicked.connect(self.action_1)
28+
self._2.clicked.connect(self.action_2)
29+
self._3.clicked.connect(self.action_3)
30+
self._4.clicked.connect(self.action_4)
31+
self._5.clicked.connect(self.action_5)
32+
self._6.clicked.connect(self.action_6)
33+
self._7.clicked.connect(self.action_7)
34+
self._8.clicked.connect(self.action_8)
35+
self._9.clicked.connect(self.action_9)
36+
37+
self._result.clicked.connect(self.result)
38+
self.clear.clicked.connect(self.clear_text)
39+
40+
def result(self):
41+
text = self.line.text()
42+
print(text)
43+
try:
44+
text_result = eval(text)
45+
print(text_result)
46+
self.line.setText(str(text_result))
47+
except (Exception):
48+
self.error_message()
49+
def plus(self):
50+
text = self.line.text()
51+
self.line.setText(text + " + ")
52+
53+
def manfi(self):
54+
text = self.line.text()
55+
self.line.setText(text + " - ")
56+
57+
def zarb(self):
58+
text = self.line.text()
59+
self.line.setText(text + " * ")
60+
61+
def taghsim(self):
62+
text = self.line.text()
63+
self.line.setText(text + " / ")
64+
65+
def action_0(self):
66+
text = self.line.text()
67+
self.line.setText(text + "0")
68+
69+
def action_1(self):
70+
text = self.line.text()
71+
self.line.setText(text + "1")
72+
73+
def action_2(self):
74+
text = self.line.text()
75+
self.line.setText(text + "2")
76+
77+
def action_3(self):
78+
text = self.line.text()
79+
self.line.setText(text + "3")
80+
81+
def action_4(self):
82+
text = self.line.text()
83+
self.line.setText(text + "4")
84+
85+
def action_5(self):
86+
text = self.line.text()
87+
self.line.setText(text + "5")
88+
89+
def action_6(self):
90+
text = self.line.text()
91+
self.line.setText(text + "6")
92+
93+
def action_7(self):
94+
text = self.line.text()
95+
self.line.setText(text + "7")
96+
97+
def action_8(self):
98+
text = self.line.text()
99+
self.line.setText(text + "8")
100+
101+
def action_9(self):
102+
text = self.line.text()
103+
self.line.setText(text + "9")
104+
105+
106+
def clear_text(self):
107+
self.line.clear()
108+
109+
def error_message(self):
110+
mess = QMessageBox(self)
111+
mess.setWindowTitle("Error")
112+
mess.setText("Calculator Error")
113+
mess.setDetailedText("Calculator Error")
114+
mess.setStandardButtons(QMessageBox.Ok)
115+
res = mess.exec_()
116+
117+
def main():
118+
app = QApplication(sys.argv)
119+
app.setApplicationName("ماشین حساب")
120+
app.setApplicationDisplayName("Calculator")
121+
app.setApplicationVersion("1.0")
122+
123+
window = Window()
124+
window.show()
125+
sys.exit(app.exec_())
126+
127+
if __name__ == "__main__":
128+
# Calculator v1.0
129+
main()
130+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /