【发布时间】:2019-04-28 11:21:05
【问题描述】:
我正在设计一个处于初始阶段的聊天机器人。我需要帮助。我在 Tkinter 模块中创建了一个文本窗口。我希望从底部向上写入窗口。我也想为窗口中的文字做背景。
from tkinter import *
from tkinter import messagebox
from tkinter.font import Font
root = Tk()
text = Text(root)
root.title('deneme')
root.geometry('410x600+400+100')
root.config(bg='lightblue')
giriş = Entry(root, font=('NanumGothic', 12))
giriş.pack()
giriş.place(x=10, y=550, width=290, height=40)
buton = Button(root, width=10, height=2)
buton.pack()
buton.place(x=310, y=550)
buton.config(text='GÖNDER', bg='lightblue', font='Verdana 8 bold')
asd = Text(root, bg='red', fg='white')
asd = ('deneme')
pencere = Text(root, yscrollcommand='YES', font=('NanumGothic', 12))
pencere.pack()
pencere.place(x=10, y=10, width=390, height=530)
pencere.insert('end','\nBOT:\t' + asd) # bot karşılama mesajı
pencere.config(state='disabled')
yazı=Label(text='CHATBOT', fg="black", bg="red", font=('bold', 9))
yazı.pack()
mainloop()
asd = Text(root, bg='red', fg='white')
我正在做 bg red,但它不起作用。
【问题讨论】:
-
如果你有短的文本行(文本中只需要一行),那么你可以计算它们并在开头添加空行以将文本移动到底部。但是如果文本较长并且您不使用等宽字体,那么您不知道它将在 Text 中使用多少行。
-
您可以为文本分配标签,不同的标签可能为文本和背景分配了不同的颜色。 effbot.org:Text。示例:tag colored text
-
将小部件放入窗口使用
pack()或grid()或place()。不要混合它们。如果您使用place(),则删除pack() -
@furas 谢谢你的回答。我的英语很差:(你能在我的项目中给我看一个示例代码吗?插入文本时,我想制作像语音气泡一样的背景。asd = Text(root, bg='red', fg='white') 但是asd = ('deneme'),'deneme'的背景不是红色的,是白色的,我只希望背景是红色的。
-
您必须使用
tags设置颜色 - 就像我的链接中的代码 -asd.tag_config('warning', background="red")和更高版本的asd.insert("deneme", tag="warning")
标签: python-3.x tkinter text chatbot