Как выровнять выравнивание текста по правому краю в 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')