有没有办法让Tkinter文本小部件变为只读?

94 投票
13 回答
170244 浏览
提问于 2025-04-16 04:51

看起来它没有那个属性,但对我来说这个属性真的很有用。

13 个回答

38

一个非常简单的解决办法就是把任何按键的按下动作绑定到一个函数上,这个函数会返回“break”,就像这样:

import Tkinter

root = Tkinter.Tk() 

readonly = Tkinter.Text(root)
readonly.bind("<Key>", lambda e: "break")
51
text = Text(app, state='disabled', width=44, height=5)
text.configure(state='normal')
text.insert('end', 'Some Text')
text.configure(state='disabled')

在插入之前和之后,要改变状态,否则它不会更新。

119

你需要在使用 text.insert()text.bind() 之后,把 Text 组件的状态从 NORMAL 改成 DISABLED

text.config(state=DISABLED)

撰写回答