【Python】GUI 练习1--利率计算器
import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class Form(QDialog): def __init__(self,parent=None): super(Form,self).__init__(parent) prinlabel=QLabel('Principal: ') ratelabel=QLabel('Rate: ') yearlabel=QLabel('Years: ') amountlabel=QLabel('Amount: ') self.numlabel=QLabel() self.prinspinbox=QDoubleSpinBox() self.ratespinbox=QDoubleSpinBox() self.yearcombobox=QComboBox() self.prinspinbox.setRange(1,10000000) self.prinspinbox.setValue(1000) self.prinspinbox.setPrefix("$ ") self.ratespinbox.setRange(0.0001,1000) self.ratespinbox.setValue(5) self.ratespinbox.setSuffix(" %") yearcon=[] for i in range(60): yearcon.append(str(i+1)+' years') self.yearcombobox.addItems(yearcon) grid=QGridLayout() grid.addWidget(prinlabel,0,0) grid.addWidget(ratelabel,1,0)4 grid.addWidget(yearlabel,2,0) grid.addWidget(amountlabel,3,0) grid.addWidget(self.prinspinbox,0,1) grid.addWidget(self.ratespinbox,1,1) grid.addWidget(self.yearcombobox,2,1) grid.addWidget(self.numlabel,3,1) self.setLayout(grid) self.setWindowTitle('Interest') self.connect(self.prinspinbox,SIGNAL('valueChanged(double)'),self.updataUi) self.connect(self.ratespinbox,SIGNAL('valueChanged(double)'),self.updataUi) self.connect(self.yearcombobox,SIGNAL('currentIndexChanged(int)'),self.updataUi) def updataUi(self): principal=self.prinspinbox.value() rate=self.ratespinbox.value() years=self.yearcombobox.currentIndex()+1 amount=principal*((1+rate/100)**years) self.numlabel.setText('$ %0.2f' % amount) app=QApplication(sys.argv) form=Form() form.show() app.exec_()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架