Python餐饮管理系统如何增加库存接收

2024-09-28 03:12:26 发布

您现在位置:Python中文网/ 问答频道 /正文

下面给出的代码用于计算出纳在“输入”窗口小部件order\u raw中输入的项目清单,为此,我在定义函数之前设置了sum=0,然后对sum进行递增,但我的程序仍然不计算总数比尔。是的一直给我零。目前有我的代码没有错误。你知道吗

from tkinter import *
order=[]
window=Tk()
order_raw=Entry(window)
order_raw.pack()
global bill
bill=0
def totalbill():
    global bill
    global billvar
    order.append(order_raw.get())
    if order_raw.get()=="burger":
        bill=bill+200
    if order_raw.get()=="fries":
        bill=bill+200
    print(bill)
billvar=StringVar(value=bill)
checkout=Button(window, text="total", command=totalbill)
checkout.pack()
total=Entry(window, textvariable=billvar)
total.pack()
window.mainloop()

然后,我将StringVar移到函数中,其中可变和是修改了。但是然后它给我一个错误,下面是代码和它的错误。你知道吗

from tkinter import *
order=[]
window=Tk()
order_raw=Entry(window)
order_raw.pack()
global bill
bill=0
def totalbill():
    global bill
    global billvar
    order.append(order_raw.get())
    if order_raw.get()=="burger":
        bill=bill+200
    if order_raw.get()=="fries":
        bill=bill+200
    print(bill)
    billvar=StringVar(value=bill)
checkout=Button(window, text="total", command=totalbill)
checkout.pack()
total=Entry(window, textvariable=billvar)
total.pack()
window.mainloop()

错误

"Traceback (most recent call last):
  File "C:/Users/umerk/.PyCharmCE2017.2/config/scratches/scratch_7.py", line 20, in <module>
    total=Entry(window, textvariable=billvar)
NameError: name 'billvar' is not defined

Tags: 代码getrawif错误orderwindowglobal
1条回答
网友
1楼 · 发布于 2024-09-28 03:12:26

如果要更新第一个代码段中的底部条目,只需添加:

billvar.set(bill)

作为totalbill中的最后一行。请参见下面的示例。你知道吗


variable classesEntry为例:

import tkinter as tk

def sum_cb():
    global item, sum_var

    if item.get() == "burger":
        sum_var.set(sum_var.get() + 30)

    elif item.get() == "fries":
        sum_var.set(sum_var.get() + 10)

root = tk.Tk()
item = tk.Entry(root)
sum_var = tk.IntVar(value=0)
sum_entry = tk.Entry(root, textvariable=sum_var)
sum_btn = tk.Button(root, text="Sum", command=sum_cb)

item.pack()
sum_btn.pack()
sum_entry.pack()

root.mainloop()

下面是一个计算输入的数字总和并将其显示为按钮文本的GUI的最小示例:

import tkinter as tk

def sum_cb():
    global sum_btn, item

    if item.get() == "burger":
        sum_btn['text'] = int(sum_btn['text']) + 30

    elif item.get() == "fries":
        sum_btn['text'] = int(sum_btn['text']) + 10

root = tk.Tk()
item = tk.Entry(root)
sum_btn = tk.Button(root, text=0, command=sum_cb)

item.pack()
sum_btn.pack()

root.mainloop()

以附加的^{}而不是Button文本显示:

import tkinter as tk

def sum_cb():
    global item, sum_entry

    cur_sum = int(sum_entry.get())
    sum_entry.delete(0, 'end')

    if item.get() == "burger":
        sum_entry.insert(0, cur_sum + 30)

    elif item.get() == "fries":
        sum_entry.insert(0, cur_sum + 10)

root = tk.Tk()
item = tk.Entry(root)
sum_entry = tk.Entry(root)
sum_entry.insert(0, 0)
sum_btn = tk.Button(root, text="Sum", command=sum_cb)

item.pack()
sum_btn.pack()
sum_entry.pack()

root.mainloop()

相关问题 更多 >

    热门问题