Sivo 悉见

4、PyQt5开发的简易税率计算器

匿名 · 更新于 2018/03/03 15:39:15

PyQt5设计的UI通过PyUIC生成Python脚本t1.py

# -*- coding: utf-8 -*-

Form implementation generated from reading ui file 't1.ui'

Created by: PyQt5 UI code generator 5.10.1

WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Myui(object):     def setupUi(self, Myui):         Myui.setObjectName("Myui")         Myui.resize(400, 243)         Myui.setStyleSheet("font: 75 9pt "微软雅黑";")         self.price = QtWidgets.QLineEdit(Myui)         self.price.setGeometry(QtCore.QRect(140, 30, 171, 20))         self.price.setObjectName("price")         self.label = QtWidgets.QLabel(Myui)         self.label.setGeometry(QtCore.QRect(80, 30, 51, 21))         self.label.setStyleSheet("font: 75 9pt "微软雅黑";")         self.label.setObjectName("label")         self.label_2 = QtWidgets.QLabel(Myui)         self.label_2.setGeometry(QtCore.QRect(80, 70, 51, 21))         self.label_2.setStyleSheet("font: 75 9pt "微软雅黑";")         self.label_2.setObjectName("label_2")         self.calc_tax_button = QtWidgets.QPushButton(Myui)         self.calc_tax_button.setGeometry(QtCore.QRect(220, 210, 75, 23))         self.calc_tax_button.setStyleSheet("font: 75 9pt "微软雅黑";")         self.calc_tax_button.setObjectName("calc_tax_button")         self.exit_button = QtWidgets.QPushButton(Myui)         self.exit_button.setGeometry(QtCore.QRect(300, 210, 75, 23))         self.exit_button.setStyleSheet("font: 75 9pt "微软雅黑";")         self.exit_button.setObjectName("exit_button")         self.label_3 = QtWidgets.QLabel(Myui)         self.label_3.setGeometry(QtCore.QRect(80, 120, 51, 21))         self.label_3.setStyleSheet("font: 75 9pt "微软雅黑";")         self.label_3.setWordWrap(False)         self.label_3.setObjectName("label_3")         self.results_window = QtWidgets.QTextBrowser(Myui)         self.results_window.setGeometry(QtCore.QRect(140, 110, 171, 51))         self.results_window.setObjectName("results_window")         self.tax_rate = QtWidgets.QSpinBox(Myui)         self.tax_rate.setGeometry(QtCore.QRect(140, 70, 42, 22))         self.tax_rate.setProperty("value", 20)         self.tax_rate.setObjectName("tax_rate")         self.price.raise_()         self.label_2.raise_()         self.calc_tax_button.raise_()         self.exit_button.raise_()         self.label_3.raise_()         self.results_window.raise_()         self.label.raise_()         self.tax_rate.raise_()

        self.retranslateUi(Myui)         QtCore.QMetaObject.connectSlotsByName(Myui)

    def retranslateUi(self, Myui):         _translate = QtCore.QCoreApplication.translate         Myui.setWindowTitle(_translate("Myui", "简易计算器"))         self.price.setToolTip(_translate("Myui", "<html><head/><body><p>请输入价格</p></body></html>"))         self.label.setText(_translate("Myui", "输入价格"))         self.label_2.setText(_translate("Myui", "输入税率"))         self.calc_tax_button.setText(_translate("Myui", "计算"))         self.exit_button.setText(_translate("Myui", "退出"))         self.label_3.setText(_translate("Myui", "计算结果"))


 主程序代码t1_show.py
import sys
from PyQt5 import QtWidgets, QtCore, QtGui
#我们需要使用 QtCore 模块中的 QCoreApplication 对象来实现退出
from PyQt5.QtCore import QCoreApplication
#引入t1.py UI类
from t1 import Ui_Myui

class myprog(Ui_Myui):     def init (self, dialog):         Ui_Myui.init(self)         self.setupUi(dialog)   #执行计算         self.calc_tax_button.clicked.connect(self.CalculateTax)   #执行退出         self.exit_button.clicked.connect(QCoreApplication.instance().quit)

  #执行计算方法     def CalculateTax(self):         price = int(self.price.text())         tax = (self.tax_rate.value())         total_price = price + ((tax / 100) * price)         total_price_string = str(total_price)         self.results_window.setText(total_price_string)

if name == 'main':     app = QtWidgets.QApplication(sys.argv)     dialog = QtWidgets.QDialog()     test1 = myprog(dialog)     dialog.show()     sys.exit(app.exec_())


在程序目录下使用 pyinstaller -F -w t1_show.py 命令打包程序为exe可执行程序,最终效果如图所示


提示:如果没有安装pyinstaller,需要先在Python安装目录下使用命令py -m pip install pyinstaller安装,然后才可以打包python脚本为exe可执行程序