zoukankan      html  css  js  c++  java
  • 【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_()
  • 相关阅读:
    VMware提示获取所有权利
    解决错误-bash: ./configure: Permission denied
    Linux ffmpeg 支持x264 If you really want to compile without asm, configure with --disable-asm 的解决办法
    Linux (CentOS7) 下Jdk1.8下载与安装教程
    ffmpeg 图片转视频
    ffmpeg合并多个视频
    ffmpeg 一张图片转视频
    OpenCV图像修复
    ffmpeg 基本命令行
    使用WinSCP从Linux向Windows传送大文件
  • 原文地址:https://www.cnblogs.com/colipso/p/3335021.html
Copyright © 2011-2022 走看看