from PyQt5 import QtCore, QtGui, QtWidgets
import sys, os
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(575, 443)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.result = QtWidgets.QTextEdit(self.centralwidget)
self.result.setGeometry(QtCore.QRect(120, 50, 331, 70))
self.result.setObjectName("result")
self.pushButton_1 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_1.setGeometry(QtCore.QRect(120, 270, 51, 41))
self.pushButton_1.setObjectName("pushButton_1")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(190, 270, 51, 41))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(260, 270, 51, 41))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_4.setGeometry(QtCore.QRect(120, 210, 51, 41))
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_5.setGeometry(QtCore.QRect(190, 210, 51, 41))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_6.setGeometry(QtCore.QRect(260, 210, 51, 41))
self.pushButton_6.setObjectName("pushButton_6")
self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_7.setGeometry(QtCore.QRect(120, 150, 51, 41))
self.pushButton_7.setObjectName("pushButton_7")
self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_8.setGeometry(QtCore.QRect(190, 150, 51, 41))
self.pushButton_8.setObjectName("pushButton_8")
self.pushButton_9 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_9.setGeometry(QtCore.QRect(260, 150, 51, 41))
self.pushButton_9.setObjectName("pushButton_9")
self.pushButton_0 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_0.setGeometry(QtCore.QRect(120, 330, 51, 41))
self.pushButton_0.setObjectName("pushButton_0")
self.pushButton_00 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_00.setGeometry(QtCore.QRect(190, 330, 51, 41))
self.pushButton_00.setObjectName("pushButton_00")
self.pushButton_dian = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_dian.setGeometry(QtCore.QRect(260, 330, 51, 41))
self.pushButton_dian.setObjectName("pushButton_dian")
self.pushButton_dengyu = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_dengyu.setGeometry(QtCore.QRect(400, 260, 51, 111))
self.pushButton_dengyu.setObjectName("pushButton_dengyu")
self.pushButton_clear = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_clear.setGeometry(QtCore.QRect(400, 150, 51, 101))
self.pushButton_clear.setObjectName("pushButton_clear")
self.pushButton_add = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_add.setGeometry(QtCore.QRect(330, 330, 51, 41))
self.pushButton_add.setObjectName("pushButton_add")
self.pushButton_subtract = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_subtract.setGeometry(QtCore.QRect(330, 270, 51, 41))
self.pushButton_subtract.setObjectName("pushButton_subtract")
self.pushButton_multiply = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_multiply.setGeometry(QtCore.QRect(330, 210, 51, 41))
self.pushButton_multiply.setObjectName("pushButton_multiply")
self.pushButton_besides = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_besides.setGeometry(QtCore.QRect(330, 150, 51, 41))
self.pushButton_besides.setObjectName("pushButton_besides")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 575, 28))
self.menuBar.setObjectName("menuBar")
self.menucalculator = QtWidgets.QMenu(self.menuBar)
self.menucalculator.setObjectName("menucalculator")
MainWindow.setMenuBar(self.menuBar)
self.menuBar.addAction(self.menucalculator.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.result.setHtml(_translate("MainWindow",
"n"
"n"
"
"))
self.pushButton_1.setText(_translate("MainWindow", "1"))
self.pushButton_2.setText(_translate("MainWindow", "2"))
self.pushButton_3.setText(_translate("MainWindow", "3"))
self.pushButton_4.setText(_translate("MainWindow", "4"))
self.pushButton_5.setText(_translate("MainWindow", "5"))
self.pushButton_6.setText(_translate("MainWindow", "6"))
self.pushButton_7.setText(_translate("MainWindow", "7"))
self.pushButton_8.setText(_translate("MainWindow", "8"))
self.pushButton_9.setText(_translate("MainWindow", "9"))
self.pushButton_0.setText(_translate("MainWindow", "0"))
self.pushButton_00.setText(_translate("MainWindow", "00"))
self.pushButton_dian.setText(_translate("MainWindow", "."))
self.pushButton_dengyu.setText(_translate("MainWindow", "="))
self.pushButton_clear.setText(_translate("MainWindow", "clear"))
self.pushButton_add.setText(_translate("MainWindow", "+"))
self.pushButton_subtract.setText(_translate("MainWindow", "-"))
self.pushButton_multiply.setText(_translate("MainWindow", "x"))
self.pushButton_besides.setText(_translate("MainWindow", "/"))
self.menucalculator.setTitle(_translate("MainWindow", "calculator"))
class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(mywindow, self).__init__()
self.setupUi(self)
self.pushButton_clear.clicked.connect(self.clear_event)
self.pushButton_0.clicked.connect(self.button_event(0))
self.pushButton_1.clicked.connect(self.button_event(1))
self.pushButton_2.clicked.connect(self.button_event(2))
self.pushButton_3.clicked.connect(self.button_event(3))
self.pushButton_4.clicked.connect(self.button_event(4))
self.pushButton_5.clicked.connect(self.button_event(5))
self.pushButton_6.clicked.connect(self.button_event(6))
self.pushButton_7.clicked.connect(self.button_event(7))
self.pushButton_8.clicked.connect(self.button_event(8))
self.pushButton_9.clicked.connect(self.button_event(9))
self.pushButton_dian.clicked.connect(self.button_event('.'))
self.pushButton_add.clicked.connect(self.button_event('+'))
self.pushButton_subtract.clicked.connect(self.button_event('-'))
self.pushButton_multiply.clicked.connect(self.button_event('*'))
self.pushButton_besides.clicked.connect(self.button_event('/'))
self.pushButton_00.clicked.connect(self.button_event('00'))
self.pushButton_dengyu.clicked.connect(self.calc_complish)
def button_event(self, arg):
# print(dir(self.e_view))
global result
result = self.result
def fun(): # 返回一个自定义的槽函数
global result
txt = result.toPlainText()
result.setText(txt + str(arg))
return fun
def calc_complish(self):
txt = self.result.toPlainText()
ans = ''
try:
ans = str(eval(txt))
except BaseException:
ans = 'MathError'
# print(ans)
self.clear_event()
self.result.setText(ans)
def clear_event(self):
self.result.setText('')
app = QtWidgets.QApplication(sys.argv)
# MainWindow = QMainWindow()
window = mywindow()
window.show()
sys.exit(app.exec_())