如何在“只读”状态的Entry控件中插入字符串?

11 投票
3 回答
24524 浏览
提问于 2025-04-17 15:42

我想要获取一个以省略号 ... 开头的输入框内容。

这是我尝试的代码:

e = Entry(rootWin, width=60, state="readonly")
e.insert(0, "...")

我觉得出错的原因是因为我试图在这个对象被标记为只读之后插入文本。

我该如何在一个处于 "readonly" 状态的 Tkinter 输入框中插入字符串呢?

3 个回答

8

解决办法很简单:先把状态暂时设置为正常,然后插入文本,最后再把状态设置为禁用。

15

使用 -textvariable 选项来设置输入框的内容:

eText = StringVar()
e = Entry(rootWin, width=60, state="readonly",textvariable=eText)
....
eText.set("...I'm not inserted, I've just appeared out of nothing.")
14

这对我来说似乎有效:

import Tkinter as tk

r = tk.Tk()

e = tk.Entry(r,width=60)
e.insert(0,'...')
e.configure(state='readonly')
e.grid(row=0,column=0)

r.mainloop()

撰写回答