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. winform Combox绑定数据时不触发SelectIndexChanged事件

    做了一个仓库选择的联动,选了仓库选其下的货区,选了货区选其下的货架分区.每个combox初始化.绑定数据是都会触发SelectIndexChanged事件,相当头疼. 后来无意中在网上看到了一种方法— ...

  2. BZOJ 2836: 魔法树 (树链剖分+线段树)

    板题-记得开longlong #include <cstdio> #include <cctype> #include <cstring> #include < ...

  3. PHP回顾(2)

    print_r()打印输出原格式,就加上标签<pre>.例子:echo '<pre>'; print_r($arr); echo '<pre>'; 添加数组的时候, ...

  4. java+大文件上传

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...

  5. BZOJ1968: [Ahoi2005]COMMON 约数研究 线性筛

    按照积性函数的定义筛一下这个积性函数即可. #include <cstdio> #include <algorithm> #define N 1000004 #define s ...

  6. 【CUDA 基础】2.3 组织并行线程

    title: [CUDA 基础]2.3 组织并行线程 categories: CUDA Freshman tags: Thread Block Grid toc: true date: 2018-03 ...

  7. WPF之Treeview实现MVVM双向绑定

    Treeview分别有两个数据模板HierarchicalDataTemplate(层级数据模板)和DataTemplate(数据模板),分别应用于生成子数据项和普通数据项. 在使用过程中,如果对两个 ...

  8. elastic search&logstash&kibana 学习历程(一)es基础环境的搭建

    elastic search 6.1.x 常用框架: 1.Lucene Apache下面的一个开源项目,高性能的.可扩展的工具库,提供搜索的基本架构: 如果开发人员需用使用的话,需用自己进行开发,成本 ...

  9. __new()__与__init__()

    1. __new__:创建对象时调用,会返回当前对象的一个实例.(默认情况下也就是你在类中没有没有重新这个方法,会默认返回当前类的示例,如果你重写了这个方法,但是在方法中没有返回当前类的示例,那么也就 ...

  10. flask读书记录

    1. 在flask中,如果我们在视图函数中使用data = request.get_json()方法获取数据,那么在客户端发送POST请求时,就需要设置设置正确的Content-Type首部.在aja ...