0
from tkinter import *
import time
root = Tk()
label = Label(root, text="enter Something below")
label.pack()
textbox = Entry(root)
textbox.pack()
label2 = Label(root, text = textbox.get())
def save():
    
    if label2.winfo_exists == 1:
        label2.pack_forget()
        label2.pack()

    else:
        label2.pack_forget()
        label2.pack()

button = Button(root, text="press for repetition", command=save)
button.pack()
root.mainloop()

当我第二次按下按钮时,什么都没有被删除,所以我要做的是删除已经用同一个按钮打包的东西。所以如果我输入你好,那么你好吗?

结果是这样的:

Enter Something below
(this is the textbox)
Hello
How are you?

我希望Helloto 已被删除,只有How are you?to 已显示。

4

1 回答 1

0

您无需销毁标签并重新创建标签。只需创建一次标签,然后在save()函数内更新其文本:

from tkinter import *
root = Tk()
label = Label(root, text="enter Something below")
label.pack()
textbox = Entry(root)
textbox.pack()
label2 = Label(root) # create the hidden label 
def save():
    # update the label text
    label2.config(text=textbox.get()) 
    # show the label. remove 'before=button' to show it below the button
    label2.pack(before=button) 
button = Button(root, text="press for repetition", command=save)
button.pack()
root.mainloop()
于 2020-11-05T08:31:32.507 回答