如何清除使用Tkinter labelplace函数显示的文本

问题描述

如何清除= Label()的代码

使用.place()函数a = Label()时如何清除此标签的文本?

l = Intvar()
t = Intvar()
a = StringVar()

def speed(): 
    global a
    length= l.get()
    time = t.get()
    answer = length/time
    a = Label(frame,text=answer,font="Times 13 bold",bg="Black",fg="WHITE" ).place(x = 100,y = 160)
    
def clear():
    '''This function is not clearing label of where I am displaying the answer in a = Label '''
    l.set('')
    t.set('')
    #a.set('')<---NOT WORKING
    #a.delete(0,'END')<----NOT WORKING
    #a.destroty()<----NOT WORKING
    #a.configure(text="")<---NOT WORKING
    
ll = Entry(frame,width=30,textvariable=l,border=5).place(x=150,y=90)
le = Label(frame,text="Enter Length :",font="Times 16 bold",bg="WHITE",fg="Black" ).place(x=10,y = 88 )

tt = Entry(frame,textvariable=t,y=130)
ti = Label(frame,text="Enter Time :",y = 128 )

ans = Label(frame,text="Speed = ",fg="Black" ).place(x = 10,y = 160)

spd = Button(frame,text="Calculate Speed",width=20,command=speed,fg="WHITE",border = 4 ).place(x=30,y = 190 )
cl = Button(frame,text="Clear Text",command=clear,border = 4 ).place(x=200,y = 190 )

解决方法

问题是,由于您将.placeLabel / Entry对象的对象定义一起使用,因此返回值将为None

x = Label(<configurable_options>).place(...)  # x is None

x = Label(<configurable_options>)  # defines x as a Label object
x.place(...)  # places x at your desired location

对于所有布局管理器-placegridpack

,这都是 True

此外,您还需要为textvaribale分配一个Label才能清除它们(感谢@CoolCloud)

l = StringVar()
l1 = Label(...,textvariable=l)

如果您不想添加文本变量,则只需使用.config的{​​{1}}方法。

Label

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...