Python 简单收银窗口(详细)

任务:窗口实现通过输入应收金额和实收金额得出找零。

我们可以设置窗口,在窗口中设置两个输入框分别输入应收金额和实收金额,再设置一个按钮,通过点击按钮来获得找零。

首先我们需要导入tkinter包,tkinter 是 Python 中内置的一个标准 GUI(图形用户界面)工具包,用于创建基本的桌面应用程序。

1.创建主窗口

#创建主窗口
root = tk.Tk()#创建主窗口
root.title("收银界面")#设置窗口名称

2.定义输入框

#添加输入框
yingshou_label = tk.Label(root, text="应收金额:")#创建一个标签显示文本应收金额
yingshou_label.pack()#将标签放置在主窗口中

yinghsou_entry = tk.Entry(root)#创建输入框用于输入应收金额
yingshou_entry.pack()#将输入框放置在主窗口中
true_label = tk.Label(root, text="实收金额:")
true_label.pack()

true_entry = tk.Entry(root)
true_entry.pack()

3.定义应找零按钮

#添加按钮
button = tk.Button(root, text="应找零", command=button_click)#设置按钮名称以及点击后的事件
button.pack()#将按钮显示在主窗口

4.定义按钮触发事件函数

#定义函数实现按钮触发后的事件
def button_click():
    yingshou = yingshou_entry.get()#获取输入框获得的数据
    true = true_entry.get()
    if yingshou.isdigit() or true.isdigit(): #因为输入框获取的数据为数值,所以通过isdigit()来判断
        if float(true)>float(yingshou):#输入的实收金额应该大于应收金额,因为获取值为字符串类型所以需要转换类型比较
            money=float(true)-float(yingshou)#计算应找零
            money=round(money,2)#将结果保留两位小数以此来减少精确度出错
            result_label.config(text=money)#将结果返回给result_label以便于点击按钮后显示应找零数
        else:
            result_label.config(text="输入错误,请重新输入")      
    else:
        result_label.config(text="输入错误,请重新输入")#如果输入并非数字提示报错

5.定义按钮触发后的输出 

#显示结果的标签
result_label = tk.Label(root, text="")#此时显示的文本将是button函数中返回给result_label的值
result_label.pack()

root.mainloop()#启动主窗口的事件循环,使窗口保持打开状态,直到用户关闭窗口为止

整段代码为

import tkinter as tk

def button_click():
    yingshou = yingshou_entry.get()
    true = true_entry.get()
    if yingshou.isdigit() or true.isdigit():
        if float(true)>=float(yingshou):
            money=float(true)-float(yingshou)
            money=round(money,2)
            result_label.config(text=money)
        else:
            result_label.config(text="输入错误")


    else:
        result_label.config(text="输入错误")

# 创建主窗口
root = tk.Tk()
root.title("收银界面")

# 添加输入框
yingshou_label = tk.Label(root, text="应收金额:")
yingshou_label.pack()

yingshou_entry = tk.Entry(root)
yingshou_entry.pack()
true_label = tk.Label(root, text="实收金额:")
true_label.pack()

true_entry = tk.Entry(root)
true_entry.pack()

# 添加按钮
button = tk.Button(root, text="应找零", command=button_click)
button.pack()

# 显示结果的标签
result_label = tk.Label(root, text="")
result_label.pack()

root.mainloop()

运行后将会弹出如下窗口

3bfeb01159dd48a78cd0dc6b7c433797.png

ps:第一次写博客,欢迎大家交流指正!

 

  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值