Как выровнять выравнивание текста по правому краю в tkinter.? Когда переменная v=='hai', ответ бота хочет быть с правой стороны

как выровнять выравнивание текста по правому краю

from tkinter import *
#from time import *
root=Tk()
#root.geometry('2000x800')
ABC=Frame(root,bg='#1f5629',bd=20,     relief=RIDGE)
ABC.grid()
def sent():
    v=e.get()
    sent="You => " + v
    txt.insert(END,"\n"+sent)

    if v=='hai':
        a="bot ==>"+'hello'
        txt.insert(END,"\n"+a)

    e.delete(0,END)


ABC1=Frame(root,bg='#1f5629',bd=20,)
ABC1.grid()
txt=Text(ABC,height=30,width=40,   padx=10,pady=10)
txt.grid(column=0,row=0)
e=Entry(ABC,width=30)
e.grid(row=1,column=0)
b=Button(ABC1,text='sent',   command=sent)
b.grid(row=1,column=0)
root.mainloop()

1 ответ

Вы можете использовать tag_config() определить тег с опцией justify="right":

txt = Text(ABC, height=30, width=40, padx=10, pady=10)
txt.grid(column=0, row=0)
txt.tag_config("right", justify="right")

затем назначьте этот тег строке, которую вы хотите выровнять по правому краю:

if v == 'hai':
    a = "bot ==> "+'hello'
    txt.insert(END, "\n"+a, "right") # apply the "right" tab effect 

Обновление: если вы хотите, чтобы бот ответил через две секунды:

if v == 'hai':
    root.after(2000, txt.insert, END, '\nbot ==> hello', 'right')
Другие вопросы по тегам