import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import * class calMoney(QDialog):
def __init__(self,parent=None):
super().__init__(parent) self.setWindowTitle('帅帅的利息计算器') # 定义QLable时,在快捷键字母前加“&”符号;
# alt+P
PrincipalLabel = QLabel("&Principal:")
self.inpMoney = QDoubleSpinBox()
self.inpMoney.setPrefix("$ ") # 设置前缀
self.inpMoney.setRange(0.01,100000000)
self.inpMoney.setValue(1000)
PrincipalLabel.setBuddy(self.inpMoney) RateLabel = QLabel("&Rate:")
self.inpRate = QDoubleSpinBox()
self.inpRate.setSuffix(" %") # 设置后缀
self.inpRate.setValue(5)
RateLabel.setBuddy(self.inpRate) YearsLabel = QLabel("&Years:")
self.inpYears = QComboBox()
ls=[]
for i in range(1,11):
if i==1:
year = str(i) + " year"
else:
year = str(i) + " years"
ls.append(year)
self.inpYears.addItems(ls)
YearsLabel.setBuddy(self.inpYears) AmountLabel = QLabel("&Amount")
self.oupAmount = QLabel("$ 1102.50")
AmountLabel.setBuddy(self.oupAmount) # 网格布局
layout = QGridLayout()
layout.addWidget(PrincipalLabel, 0, 0)
layout.addWidget(self.inpMoney, 0, 1)
layout.addWidget(RateLabel, 1, 0)
layout.addWidget(self.inpRate, 1, 1)
layout.addWidget(YearsLabel, 2, 0)
layout.addWidget(self.inpYears, 2, 1)
layout.addWidget(AmountLabel, 3, 0)
layout.addWidget(self.oupAmount, 3, 1) # 信号与槽相连
self.inpMoney.valueChanged.connect(self.updateAmount)
self.inpRate.valueChanged.connect(self.updateAmount)
self.inpYears.currentIndexChanged.connect(self.updateAmount) self.setLayout(layout) def updateAmount(self):
principal = float(self.inpMoney.value())
rate = float(self.inpRate.value())
years = int(self.inpYears.currentIndex())
amount = principal * pow((1 + 0.01 * rate),(years+1))
self.oupAmount.setText("{0:.2f}".format(amount))
pass app = QApplication(sys.argv)
form = calMoney()
form.show()
app.exec_()

Python——GUI编程 利息计算器 作业9(python programming)的更多相关文章

  1. Python GUI编程各种实现的对比

    Python GUI编程各种实现的对比 从 Python 语言的诞生之日起,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编 ...

  2. Python gui编程pyQt5安装步骤t

    Python gui编程pyQt5安装步骤         pip install PyQt5 Pip3 install PyQt5               https://riverbankco ...

  3. Python gui编程pyQt5安装步骤

    Python gui编程pyQt5安装步骤 =============================== -m PyQt5.uic.pyuic  $FileName$ -o $FileNameWit ...

  4. Python GUI 编程

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  5. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  6. Python GUI编程--Tkinter

    今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...

  7. python GUI编程tkinter示例之目录树遍历工具

    摘录 python核心编程 本节我们将展示一个中级的tkinter应用实例,这个应用是一个目录树遍历工具:它会从当前目录开始,提供一个文件列表,双击列表中任意的其他目录,就会使得工具切换到新目录中,用 ...

  8. Python -- Gui编程 -- Tkinter的使用 -- 基本控件

    1.按钮 tkBtton.py import tkinter root = tkinter.Tk() btn1 = tkinter.Button(root, anchor=tkinter.E,\ te ...

  9. 【Python核心编程笔记】一、Python中一切皆对象

    Python中一切皆对象 本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做 ...

随机推荐

  1. Beta冲刺版本第三天

    该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业要求地址:https://edu.cnblogs.com ...

  2. js 中判断对象是否为空

      var dd = function (S_object, name) { console.log(name + '第一步执行结果:' + S_object); if (typeof S_objec ...

  3. Linux文件归档管理

    Linux怎样保存文件 数据 - 这里数据就是文件的内容 元数据 - 在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的结构中 文件名 - 文件名保存在名为目录项 ...

  4. SSH服务端

  5. JAVA bean为何要实现序列化

    简而言之:序列化,就是为了在不同时间或不同平台的JVM之间共享实例对象.即序列化出于两个原因:①.用于持久化到磁盘上:②.用于作为数据流在网络上传输. 所谓的Serializable,就是java提供 ...

  6. pheonix从入门到进阶

    别人写的帖子感觉很好,记录一下: https://blog.csdn.net/u013411339/article/details/90657429

  7. yii框架学习(MVC)

    路由:两种方式,第一种是默认方式访问,假设配置了虚拟主机,那么localhost/web/index.php?r=admin/index    访问的是controllers目录下的admin控制器里 ...

  8. BZOJ 3270: 博物馆 概率与期望+高斯消元

    和游走挺像的,都是将概率转成期望出现的次数,然后拿高斯消元来解. #include <bits/stdc++.h> #define N 23 #define setIO(s) freope ...

  9. Quartz.NET 作业调度(一):Test

    Quartz.NET 是一个开源的作业调度框架,是 Java 作业调度框架 Quartz 的.NET 版本,对于周期性的任务,其作业和触发器的结合,极大的简化了代码的编写,大多时候我们只需要关注作业本 ...

  10. [BJOI2015]树的同构 && 树哈希教程

    题目链接 有根树的哈希 离散数学中对树哈希的描述在这里.大家可以看看. 判断有根树是否同构,可以考虑将有根树编码.而编码过程中,要求保留树形态的特征,同时忽略子树顺序的不同.先来看一看这个方法: 不妨 ...