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()

ボタンをもう一度押しても何も削除されないので、同じボタンで既にパックされているものを削除しようとしています。ですから、Hello と入力すると、お元気ですか?

次のようなものが出てきます。

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

Hello削除して、 だけHow are you?を表示したい。

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 に答える