В моем ответе на ваш другой вопрос уже сказано, что вы можете использовать after()
, чтобы отложить ответ бота:
def bot_reply(msg):
txt =Text(ABC,height=2,width=40,padx=10,pady=10)
txt.tag_config("right", justify="right")
txt.pack()
a=msg+" <== Bot"
txt.insert(END,"\n"+a,"right")
txt.config(state=DISABLED)
def sent():
txt =Text(ABC,height=2,width=40,padx=10,pady=10)
txt.tag_config("right", justify="right")
txt.pack()
v=e.get()
sent="You => " + v
txt.insert(END,"\n"+sent)
if v=='hai':
root.after(2000, bot_reply, 'hello')
e.delete(0,END)
Но я предпочитаю использовать Label
вместо Text
:
def bot_reply(msg):
reply = msg + " <== Bot"
Label(ABC, text=reply, height=2, width=40, bd=1, relief='sunken',
padx=10, pady=10, anchor='e').pack()
def sent():
v = e.get().strip()
Label(ABC, text="You => "+v, height=2, width=40, bd=1, relief='sunken',
padx=10, pady=10, anchor='w').pack()
if v == 'hai':
root.after(2000, bot_reply, 'hello')