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_Myuiclass 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可执行程序
