如何在python中更改使用Tkinter完成的文本框的背景颜色? 我使用下面的代码,但我不明白为什么它不起作用
from Tkinter import *
def onclick():
pass
root = Tk()
text = Text(root)
text.pack()
text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background="black", foreground="green")
root.mainloop()
答案 0 :(得分:3)
确实有效。如果您插入文字:
text.insert(1.0, 'Hello World')
在调用tag_add
和tag_config
方法之前,该标记将附加到插入的文本中。但是,在它当前被调用时,没有索引插入标记,因此实际上没有标记。
如果要在用户在窗口小部件中键入时实时修改文本内容,可以将文本窗口小部件绑定到按键事件,该事件调用为文本窗口小部件添加和配置标记的函数:
from Tkinter import *
def track_change_to_text(event):
text.tag_add("here", "1.0", "1.4")
text.tag_config("here", background="black", foreground="green")
root = Tk()
text = Text(root)
text.pack()
text.bind('<KeyPress>', track_change_to_text)
root.mainloop()