您的位置:澳门新葡8455最新网站 > 澳门新葡8455最新网站 > 澳门新葡8455最新网站粗略总括器

澳门新葡8455最新网站粗略总括器

发布时间:2019-10-09 18:08编辑:澳门新葡8455最新网站浏览(185)

    忽然想起之前一直想写个简单的计算器,今天就写了一下,界面有些简陋,但是基本功能实现没有问题

    澳门新葡8455最新网站 1

    以下是源码:

    # --*-- coding:utf-8 --*--
    import sys
    from PyQt5 import QtWidgets, QtCore
    from PyQt5.QtGui import QFont
    
    
    class Calculator(QtWidgets.QWidget):
    
        def __init__(self):
            super(Calculator, self).__init__()
            self.initUI()
            self.reset()
            self.display.setText("0")
    
        def initUI(self):
            self.resize(600,650)
            self.setWindowTitle('简易计算器')
            Grid = QtWidgets.QGridLayout()
    
            self.display = QtWidgets.QLineEdit('')
            self.display.setFont(QFont("Times", 20))
            self.display.setReadOnly(True)
            self.display.setAlignment(QtCore.Qt.AlignRight)
            self.display.setMaxLength(20)
            Grid.addWidget(self.display, 0, 0, 1, 4)
    
            names = ['C', '(', 'Del', '+',
                     '7', '8', '9', '-',
                     '4', '5', '6', '*',
                     '1', '2', '3', '/',
                     '0', '.', ')', '=']
            pos = [(0, 0), (0, 1), (0, 2), (0, 3),
                   (1, 0), (1, 1), (1, 2), (1, 3),
                   (2, 0), (2, 1), (2, 2), (2, 3),
                   (3, 0), (3, 1), (3, 2), (3, 3),
                   (4, 0), (4, 1), (4, 2), (4, 3)]
            c = 0
            for name in names:
                button = QtWidgets.QPushButton(name)
                button.setFixedSize(QtCore.QSize(100, 60))
                button.setFont(QFont('Times', 30))
                button.clicked.connect(self.ButtonClicked)  
                Grid.addWidget(button, pos[c][0] + 1, pos[c][1])
                c = c + 1
    
            self.setLayout(Grid)
    
        def ButtonClicked(self):
            text = self.sender().text()
            if text == "=":
                r = eval(self.number)
                result = str(r).decode('utf-8')
                self.display.setText(str(result))  #计算结果
                self.number = result
    
            elif text == "Del":
                self.number = self.number[:-1]
                self.display.setText(self.number)
    
            elif text == "C":
                self.reset()
                self.display.setText(self.number)
    
            else:
                if text in "+-*/":
                    self.number = self.number + text
                else:
                    self.number = self.number + text if self.number != "0" else text
                self.display.setText(self.number)
    
        def reset(self):
            self.number = "0"
    
    
    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        ex = Calculator()
        ex.show()
        sys.exit(app.exec_())
    

     

    不想写啊,不想写!

    再怎么给我鸡汤灌,再怎么给我打鸡血,再怎么威逼利诱……我今天就是不想写啊,不想写。

    休假过后,第一天上班,心情能爽吗?不能!还遇到检查了,能爽吗?不能!冷到已经供暖,皮肤要干裂开,我居然不知道,还拼命给护肤品找事,能爽吗?不能!居然有点小感冒,迷人嗓音变成唐老鸭音,能爽吗?不能!学习素描,才发现自己连线条都画不直,能爽吗?不能!……这么多不能,让我写什么写?不写!坚决不写!

    我决定了,今天不写!

    不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!不写!

    本文由澳门新葡8455最新网站发布于澳门新葡8455最新网站,转载请注明出处:澳门新葡8455最新网站粗略总括器

    关键词: