Python 当我想输出一个“时,如何使标签消失?”;“错误”;或者在这种情况下,“在;“超出范围”;

Python 当我想输出一个“时,如何使标签消失?”;“错误”;或者在这种情况下,“在;“超出范围”;,python,tkinter,Python,Tkinter,我制作了一个简单的程序来计算一架飞机需要多少燃料,但问题是,如果说它超出范围,它会显示一个超出范围的标签,但是如果你再次计算燃料,它会简单地计算出来,然后显示出来,但会继续在下面显示超出范围……我尝试了一些方法使标签消失,但它们都消失了不要工作。。。 反之亦然,如果所需燃油超过20800 kg,则会显示燃油耗尽,但也会显示任何先前的计算结果 #fuel Calculator v1.0 #this version only calculates fuel for a 737 or a a3

我制作了一个简单的程序来计算一架飞机需要多少燃料,但问题是,如果说它超出范围,它会显示一个超出范围的标签,但是如果你再次计算燃料,它会简单地计算出来,然后显示出来,但会继续在下面显示超出范围……我尝试了一些方法使标签消失,但它们都消失了不要工作。。。 反之亦然,如果所需燃油超过20800 kg,则会显示燃油耗尽,但也会显示任何先前的计算结果

    #fuel Calculator v1.0
#this version only calculates fuel for a 737 or a a320
from tkinter import *

top = Tk()
top.title("fuel planner")

def boeing_burn():

    res1=(float(E1.get()))* 2530
    res2=round(res1*2.204,2)

    lal1 = Label(top, text = " kg")
    lal2 = Label(top, text = " lbs")
    lal5 = Label(top, text = "out of range")

    lal1["text"]= str(res1) + "kg"
    lal2["text"]=str(res2)+"lbs"


    if res1 < 20800: 
        lal1.grid(column=0,row=2)
        lal2.grid(column=2,row=2)
        lal5.grid_remove()
    elif res1 > 20800:
        lal1.grid_remove()
        lal2.grid_remove()
        lal5.grid(column=1,row=2)

def a320_burn():


    res1=(float(E1.get()))*2430
    res2=round(res1*2.204,2)

    lal1 = Label(top, text = " kg")
    lal2 = Label(top, text = " lbs")
    lal5 = Label(top, text = "out of range")

    lal1["text"]= str(res1) + "kg"
    lal2["text"]=str(res2)+"lbs"


    if res1 < 20800: 
        lal1.grid(column=0,row=2)
        lal2.grid(column=2,row=2)
        lal5.grid_remove()
    elif res1 > 20800:
        lal1.grid_remove()
        lal2.grid_remove()
        lal5.grid(column=1,row=2)



L1 = Label(top, text="flight time in hours:")
L1.grid(column=0,row=0)
E1 = Entry(top, bd =5, width=20)
E1.grid(column=2,row=0)

B1 = Button(top, text="Boeing 737", command=boeing_burn)
B1.grid(column=0,row=1)

B2 = Button(top, text="Airbus A320", command=a320_burn)
B2.grid(column=3,row=1)




top.mainloop()
#燃油计算器v1.0
#此版本仅计算737或a320的燃油
从tkinter进口*
top=Tk()
顶部标题(“燃料计划员”)
def boeing_burn():
res1=(float(E1.get())*2530
res2=圆形(res1*2.204,2)
lal1=标签(顶部,text=“kg”)
lal2=标签(顶部,text=“lbs”)
lal5=标签(顶部,text=“超出范围”)
lal1[“文本”]=str(res1)+“kg”
lal2[“文本”]=str(res2)+“磅”
如果res1<20800:
lal1.grid(列=0,行=2)
lal2.grid(列=2,行=2)
lal5.格栅_移除()
elif res1>20800:
lal1.grid_remove()
lal2.grid_remove()
lal5.网格(列=1,行=2)
def a320_烧伤():
res1=(float(E1.get())*2430
res2=圆形(res1*2.204,2)
lal1=标签(顶部,text=“kg”)
lal2=标签(顶部,text=“lbs”)
lal5=标签(顶部,text=“超出范围”)
lal1[“文本”]=str(res1)+“kg”
lal2[“文本”]=str(res2)+“磅”
如果res1<20800:
lal1.grid(列=0,行=2)
lal2.grid(列=2,行=2)
lal5.格栅_移除()
elif res1>20800:
lal1.grid_remove()
lal2.grid_remove()
lal5.网格(列=1,行=2)
L1=标签(顶部,text=“飞行时间(小时):)
L1.网格(列=0,行=0)
E1=入口(顶部,bd=5,宽度=20)
E1.网格(列=2,行=0)
B1=按钮(顶部,text=“Boeing 737”,命令=Boeing\u burn)
B1.网格(列=0,行=1)
B2=按钮(顶部,text=“空中客车A320”,命令=A320\u燃烧)
B2.网格(列=3,行=1)
top.mainloop()

每次单击按钮时,您都在创建新标签。相反,您应该在函数外部创建标签,并在内部编辑它们

from tkinter import *

top = Tk()
top.title("fuel planner")

lal1 = Label(top, text = " kg")
lal2 = Label(top, text = " lbs")
lal5 = Label(top, text = "out of range")



def boeing_burn():

    res1=(float(E1.get()))* 2530
    res2=round(res1*2.204,2)

    lal1["text"] = str(res1) + "kg"
    lal2["text"] = str(res2) + "lbs"

    if res1 < 20800:
        lal1.grid(column=0,row=2)
        lal2.grid(column=2,row=2)
        lal5.grid_remove()
    elif res1 > 20800:
        lal1.grid_remove()
        lal2.grid_remove()
        lal5.grid(column=1,row=2)

def a320_burn():


    res1=(float(E1.get()))*2430
    res2=round(res1*2.204,2)

    lal1["text"] = str(res1) + "kg"
    lal2["text"] = str(res2) + "lbs"

    if res1 < 20800:
        lal1.grid(column=0,row=2)
        lal2.grid(column=2,row=2)
        lal5.grid_remove()
    elif res1 > 20800:
        lal1.grid_remove()
        lal2.grid_remove()
        lal5.grid(column=1,row=2)



L1 = Label(top, text="flight time in hours:")
L1.grid(column=0,row=0)
E1 = Entry(top, bd =5, width=20)
E1.grid(column=2,row=0)

B1 = Button(top, text="Boeing 737", command=boeing_burn)
B1.grid(column=0,row=1)

B2 = Button(top, text="Airbus A320", command=a320_burn)
B2.grid(column=3,row=1)
top.mainloop()
从tkinter导入*
top=Tk()
顶部标题(“燃料计划员”)
lal1=标签(顶部,text=“kg”)
lal2=标签(顶部,text=“lbs”)
lal5=标签(顶部,text=“超出范围”)
def boeing_burn():
res1=(float(E1.get())*2530
res2=圆形(res1*2.204,2)
lal1[“文本”]=str(res1)+“kg”
lal2[“文本”]=str(res2)+“磅”
如果res1<20800:
lal1.grid(列=0,行=2)
lal2.grid(列=2,行=2)
lal5.格栅_移除()
elif res1>20800:
lal1.grid_remove()
lal2.grid_remove()
lal5.网格(列=1,行=2)
def a320_烧伤():
res1=(float(E1.get())*2430
res2=圆形(res1*2.204,2)
lal1[“文本”]=str(res1)+“kg”
lal2[“文本”]=str(res2)+“磅”
如果res1<20800:
lal1.grid(列=0,行=2)
lal2.grid(列=2,行=2)
lal5.格栅_移除()
elif res1>20800:
lal1.grid_remove()
lal2.grid_remove()
lal5.网格(列=1,行=2)
L1=标签(顶部,text=“飞行时间(小时):)
L1.网格(列=0,行=0)
E1=入口(顶部,bd=5,宽度=20)
E1.网格(列=2,行=0)
B1=按钮(顶部,text=“Boeing 737”,命令=Boeing\u burn)
B1.网格(列=0,行=1)
B2=按钮(顶部,text=“空中客车A320”,命令=A320\u燃烧)
B2.网格(列=3,行=1)
top.mainloop()
首先,您必须了解