#python #python-3.x #label
Вопрос:
Я хочу сделать кнопку так, чтобы появлялась метка с небольшим сообщением, а через некоторое время сообщение удалялось. Я пытался сделать это с помощью time.sleep () внутри def, который активируется другим def, но у меня это не работает, потому что сообщение появляется через несколько секунд, пока кнопка остается нажатой, а метка не удалена, вы можете помочь мне это исправить? 🙁
def salir():
if trad["text"]!="ar.ab.iz.":
#msg.showinfo("No","Ese no era el camino...")
trad.config(text=leta)
noes()
else:
codigo=tk.Toplevel(ventana)
codigo.title("Salida")
codigo.geometry("200x200")
Label(codigo, text ="Encontré algo...").pack()
caja = tk.Entry(codigo,textvariable="")
caja.place(x=100,y=150)
canvas.delete(ima)
posx2 = 247
posy2 = 100
ima2 = canvas.create_image(247,780,image=myimg)
trad.config(text=leta)
new_windw=tk.Toplevel()
def noes():
no=tk.Label(ventana, text ="Ese no era el camino...",font=("Verdana",20),bg="#148870", fg="white")
no.place(relx = 0.5,rely = 0.4,anchor ='s')
time.sleep(3)
widget.forget()
boton2 = tk.Button(text=" Ir ",font=("Verdana",16), command=salir)
boton2.config(bg="#135C3F", fg="#D7D731")
boton2.place(x=746,y=379)
Ответ №1:
Ну, я обнаружил, что команда, вызванная после этого, проще в использовании.
root.после (2000, метка.уничтожить)
«корень» (это имя окна, в которое вы помещаете метку), «2000» — это время, эквивалентное 2 секундам, «метка» — это метка, которую вы хотите создать, и «уничтожить» уничтожает ее.
def button_pressed():
label = tk.Label(root, text="Hello World!")
label.pack()
root.after(2000, label.destroy)
root = tk.Tk()
button = tk.Button(root, text="Press Button", command=button_pressed)
button.pack()
root.mainloop()