如何更改Tkinter文本框的背景色和文字色?
我该如何在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()
2 个回答
0
在创建文本框的时候,可以用 bg
来设置背景颜色:
text = Text(root, bg = 'black')
6
这确实是可以的。如果你在调用 tag_add
和 tag_config
方法之前插入文本:
text.insert(1.0, 'Hello World')
那么这个标签就会和插入的文本关联起来。不过,在当前调用时,没有可以插入标签的索引,所以实际上是没有标签的。
如果你想在用户输入时实时修改文本内容,可以把文本小部件绑定到一个按键事件,这样每当用户按下键,就会调用一个函数来为文本小部件添加和配置标签:
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()