ammout = principal * ((1 + (rate/100.0))** year)
# -*- coding: utf-8 -*- # @Date : 2018/5/11 8:30 # @Author : yw import sys from PyQt5.QtWidgets import * class Interest(QDialog): def __init__(self): super().__init__() self.Amount = 0 self.Principal = QDoubleSpinBox() self.Principal.setPrefix("$ ") self.Principal.valueChanged.connect(self.Update) self.Principal.setRange(0, 100000000000) self.rate = QDoubleSpinBox() self.rate.setSuffix(" %") self.rate.valueChanged.connect(self.Update) self.years = QComboBox() self.years.addItems(["1 years", "2 years", "3 years"]) self.years.currentTextChanged.connect(self.Update) self.setWindowTitle("Interest") self.Amount_Lable = QLabel() self.Pr_Lable = QLabel("Principal:") self.Rate_Lable = QLabel("Rate:") self.Year_Label = QLabel("Years:") layout = QGridLayout() layout.addWidget(self.Pr_Lable, 0, 0) layout.addWidget(self.Principal, 0, 1) layout.addWidget(self.Rate_Lable, 1, 0) layout.addWidget(self.rate, 1, 1) layout.addWidget(self.Year_Label, 2, 0) layout.addWidget(self.years) layout.addWidget(self.Amount_Lable, 3, 0, 1, 3) self.setLayout(layout) self.Update() def Update(self): principal = float(self.Principal.value()) rate = float(self.rate.value()) years = int(self.years.currentText()[0]) print(principal, rate, years) self.Amount = principal * ((1 + (rate / 100.0)) ** years) self.Amount_Lable.setText("Amount: $ %.3f" % self.Amount) if __name__ == "__main__": app = QApplication(sys.argv) test = Interest() test.show() sys.exit(app.exec_())
文章来源: pyqt5小作业(一)