我正在尝试编写最简单的tkinter窗口,该窗口将显示一个输入框和一个按钮,并在输入框中输入任意数字的正方形。
代码我写了一些作品,除了每个新答案都覆盖在前一个答案上,所以如果你有一个很长的数字后跟一个小数字,你可以看到下面的旧答案的遗骸新的。
我该如何解决这个问题?有没有办法取消之前的标签?
from tkinter import *
x=Tk()
x.geometry('900x400')
e=Entry(x)
e.place(relx=0.4, rely=0.2)
def z():
aa=e.get()
aa=int(aa)
aa=aa**2
l=Label(x, text=aa).place(relx=0.4, rely=0.4)
e.delete(0, END)
b=Button(x, text='PRESS', command=z).place(relx=0.6, rely=0.2)
x.mainloop()
答案 0 :(得分:0)
不要创建mpnew标签。创建一次标签,然后使用configure
方法更改文本。
global l
l = Label(...)
l.pack(...)
...
l.configure(text="some string")
建议:在学习tkinter时,忽略place
。它不如pack
和grid
有用。
注意:您必须创建标签,然后在单独的行上调用pack / place / grid,因为pack / place / grid始终返回None。