使Tkinter Entry组件只读但可选中
有没有办法让Tkinter的输入框(Entry小部件)中的文字可以被高亮和复制,但不能被修改呢?
1 个回答
8
使用 状态选项 "disabled"(全小写):
这个选项可以让输入框变成不可用状态,这样用户就不能在里面输入任何内容了。你可以用 state=tk.DISABLED 来禁用这个输入框,用 state=tk.NORMAL 来重新允许用户输入。你的程序还可以检查光标是否在这个输入框上,如果光标在上面,这个选项的值会是 tk.ACTIVE。你也可以把这个选项设置为 'disabled',这和 tk.DISABLED 状态类似,但输入框里的内容仍然可以被选中或复制。
这是2010年的旧回答……
使用 状态 选项 "readonly"
:
状态= 输入框的状态:NORMAL(正常)、DISABLED(禁用)或 “readonly”(只读,和 DISABLED 一样,但内容仍然可以被选中和复制)。默认状态是 NORMAL。注意,如果你把状态设置为 DISABLED 或 “readonly”,那么插入和删除的操作会被忽略。(状态/State)