栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

PyQt5制作一个科学计算器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyQt5制作一个科学计算器

首先先上结果图:

步骤一、安装Pyqt5

一行命令即可解决

pip install Pyqt5
步骤二、打开Pyqt5,设置相应界面

同样一行命令即可解决,在你安装Pyqt5环境下,直接输入

Pyqt5

举个例子

我这边是先打开prompot

先检查一个是否安装成功了pyqt5

然后就输入PyQt5就会自动打开PyQt5了

最后记得点击保存,命名为yourname.ui文件

步骤三、将ui文件转换成python文件
# 命令行输入这句代码
pyuic5 -o testUi.py yourname.ui

然后就会得到一个
testUi.py文件

步骤四、实例化类

新建一个python 文件
我这里新建一个first_demo.py文件,你取别的名字也行,将刚刚得到的test.ui文件和你新建的文件放在一个文件夹目录下,要不然导入会出现错误。

步骤五、输入代码、运行

在你新建的文件下,输入以下代码

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
from testUi import Ui_Form


class MyWindow(QWidget, Ui_Form):
    def __init__(self):
        super(MyWindow, self).__init__()
        self.setupUi(self)

    def btnClear_clicked(self):
        self.textEdit.clear()



    def btn1_clicked(self):
        self.textEdit.insertPlainText("1")


    def btn2_clicked(self):
        self.textEdit.insertPlainText("2")


    def btn3_clicked(self):
        self.textEdit.insertPlainText("3")


    def btn4_clicked(self):
        self.textEdit.insertPlainText("4")


    def btn5_clicked(self):
        self.textEdit.insertPlainText("5")


    def btn6_clicked(self):
        self.textEdit.insertPlainText("6")


    def btn7_clicked(self):
        self.textEdit.insertPlainText("7")


    def btn8_clicked(self):
        self.textEdit.insertPlainText("8")


    def btn9_clicked(self):
        self.textEdit.insertPlainText("9")


    def btn0_clicked(self):
        self.textEdit.insertPlainText("0")


    def btnPlus_clicked(self):
        self.textEdit.insertPlainText(" + ")


    def btnSub_clicked(self):
        self.textEdit.insertPlainText(" - ")


    def btnMul_clicked(self):
        self.textEdit.insertPlainText(" * ")


    def btnDiv_clicked(self):
        self.textEdit.insertPlainText(" / ")

    def btn_left_bracket_clicked(self):
        self.textEdit.insertPlainText(" ( ")


    def btn_right_bracket_clicked(self):
        self.textEdit.insertPlainText(" ) ")

    def btn_point_clicked(self):
        self.textEdit.insertPlainText(".")

    # 回车删除
    def Backspace_clicked(self):
        text = self.textEdit.toPlainText()
        length = len(text)
        text = text[0:length - 1]
        self.textEdit.setText(text)

    def end_oflined(self):
        self.textEdit.append("")

    def btnEqual_clicked(self):
        text = self.textEdit.toPlainText()

        lines = text.split("n") # 读取所有行
        first_line = lines[0]  # 取第一行
        last_line = lines[-1]  # 取最后一行

        if not last_line :
            pass
        else:
            self.textEdit.insertPlainText(' = %.3f' % (eval(last_line)))



if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = MyWindow()

    win.pushButton_10.clicked.connect(win.btnClear_clicked)
    win.pushButton_7.clicked.connect(win.btn1_clicked)
    win.pushButton_8.clicked.connect(win.btn2_clicked)
    win.pushButton_9.clicked.connect(win.btn3_clicked)
    win.pushButton_4.clicked.connect(win.btn4_clicked)
    win.pushButton_5.clicked.connect(win.btn5_clicked)
    win.pushButton_6.clicked.connect(win.btn6_clicked)
    win.pushButton.clicked.connect(win.btn7_clicked)
    win.pushButton_2.clicked.connect(win.btn8_clicked)
    win.pushButton_3.clicked.connect(win.btn9_clicked)
    win.pushButton_11.clicked.connect(win.btn0_clicked)
    win.pushButton_13.clicked.connect(win.btnPlus_clicked)
    win.pushButton_14.clicked.connect(win.btnSub_clicked)
    win.pushButton_15.clicked.connect(win.btnMul_clicked)
    win.pushButton_16.clicked.connect(win.btnDiv_clicked)
    win.pushButton_12.clicked.connect(win.btnEqual_clicked)
    win.pushButton_17.clicked.connect(win.btn_left_bracket_clicked)
    win.pushButton_18.clicked.connect(win.btn_right_bracket_clicked)
    win.pushButton_19.clicked.connect(win.Backspace_clicked)
    win.pushButton_20.clicked.connect(win.btn_point_clicked)
    win.pushButton_21.clicked.connect(win.end_oflined)

    win.show()
    sys.exit(app.exec_())

最后点击运行即可

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号