pyqt5项目(计算器)

作者: 肥宅_Sean | 来源:发表于2018-02-18 23:47 被阅读100次

    在这个项目中,在之前的文章中所讲到的东西,在这都已经得到了演示

    1. 设置图标
    2. 改标题
    3. move布局
    4. connect()信号与槽的链接
    5. 字体更改
      具体文章,可以点击我的文章中的关于这些的基础讲解里面有~

    计算器效果,只要数值发生改变就会及时进行计算给出结果~

    运行效果大概是这样~

    下面就是代码:(在各位的电脑上可能不能直接运行,因为需要在代码所在文件夹下放有 特定名字的图标作为图标~)

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QToolTip, QLineEdit, QMessageBox, QDesktopWidget, QTextEdit
    from PyQt5.QtGui import QIcon, QFont
    from PyQt5.QtCore import QCoreApplication
    
    
    class Calculater(QWidget):
        def __init__(self):
            super().__init__()
            self.setUI()
    
        def setUI(self):
            QToolTip.setFont(QFont('SansSerif', 10))
            Font = QFont('SansSerif', 18)
            self.resize(500, 400)
            self.move(100, 100)
            self.setWindowTitle("Calculater")
            self.setWindowIcon(QIcon('./1.jpg'))
            self.center()
            self.line = QLineEdit(self)
            self.line.resize(480, 80)
            self.line.move(10, 10)
            self.line.setFont(Font)
    
            self.Text = QTextEdit(self)
            self.Text.resize(480, 280)
            self.Text.move(10, 110)
            self.Text.setFont(Font)
            self.Text.setText(str(0))
    
            self.line.textChanged.connect(self.calculate)
            self.show()
    
        def calculate(self):
            s = self.line.text()
            if len(s) == 0:
                self.Text.setText(str(0))
                return False
            s = s.replace('^', '**')  # 使得能够接受^这样的用法
            try:
                ans = eval(s)
            except:
                return False
            else:
                self.Text.setText(str(ans))
    
        def center(self):
            qr = self.frameGeometry()
            cp = QDesktopWidget().availableGeometry().center()
            qr.moveCenter(cp)
            self.move(qr.topLeft())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        ex = Calculater()
    
        sys.exit(app.exec_())
    
    

    相关文章

      网友评论

        本文标题:pyqt5项目(计算器)

        本文链接:https://www.haomeiwen.com/subject/tsfitftx.html