有没有办法让Tkinter中的Text小部件不可点击且不可编辑?

bzz*_*zzr 2 python tkinter

是否可以在Tkinter中制作一个不可点击且不可编辑的文本小部件?

iCo*_*dez 6

只需将其状态设置为"已禁用":

from Tkinter import Tk, Text, DISABLED
r = Tk()
Text(r, state=DISABLED).grid()
r.mainloop()
Run Code Online (Sandbox Code Playgroud)

您甚至可以在禁用之前输入一些文本.

from Tkinter import Tk, Text, DISABLED
r = Tk()
t = Text(r)
t.grid()
t.insert(0.0, "BLAH!")
# Just make sure you disable it AFTER you put the text in
t["state"] = DISABLED
r.mainloop()
Run Code Online (Sandbox Code Playgroud)

然后我想你可以将它的背景设置为灰色或某种东西,以便人们知道它是不活动的.

编辑:

既然你问过,你可以像这样重新激活文本框:

# Note you have to have NORMAL imported
t["state"] = NORMAL
Run Code Online (Sandbox Code Playgroud)