中学生多功能计算器设计(2)

[日期:2018-03-21] 作者:信息技术 次浏览 [字体: ]

公式运算窗口是不同公式具体计算的实施模块,其结构和功能基本大同小异。主要运用了lineEdit作为数据的输入控件、pushButton作为计算命令控件、textBrowser作为结果输出控件。由于不同的公式计算要求输入的变量类型不同,为防止在使用过程中出现输入与预期不同类型的变量造成计算错误或溢出,增强程序的健壮性,特意在每一个公式计算窗口代码中都增加了一条代码:except:QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')。以三角函数的计算为例:如果我们输入的值为正常的度数值,按下计算按钮后输出控件就会显示计算结果;如果输入与预期不符(比如不小心输入字母)程序会停止计算,同时弹出消息框QMessageBox:“你输入的字符不正确!”(如图4)

随着学业的不断深入,我们需要用到的计算公式类型会不断增长、公式数量会不断增多。比如,现在的物理公式计算、将来的化学计算……我还会一直把这个多功能计算器的功能扩展下去,让它真正成为一个理科学习的小的帮手。

附:三角函数部分核心代码如下。

class sjhs(QtGui.QWidget):

    def sin1(self):

        try:

            d = float(self.lineEdit.text())

            if d > 0:

                self.a1 = str(math.sin(math.radians(d)))

                self.textBrowser.setText(self.a1)

            else:

                QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')

        except:

            QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')

    def cos1(self):

        try:

            g = float(self.lineEdit_2.text())

            if g > 0:

                self.a2 = str(math.cos(math.radians(g)))

                self.textBrowser_3.setText(self.a2)

            else:

                QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')

        except:

            QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')

    def tan1(self):

        try:

            w = float(self.lineEdit_3.text())

            if w > 0:

                self.a3 = str(math.cos(math.radians(w)))

                self.textBrowser_2.setText(self.a3)

            else:

                QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')

        except:

            QtGui.QMessageBox.critical(self,'Error',u'你输入的字符不正确!')