使Tkinter Entry组件只读但可选中

6 投票
1 回答
5183 浏览
提问于 2025-04-16 03:56

有没有办法让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)

撰写回答