How can I insert a string in a Entry widget that is in the "readonly" state?
20,284
Solution 1
This seems to work for me:
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()
Solution 2
Use -textvariable
option of the Entry:
eText = StringVar()
e = Entry(rootWin, width=60, state="readonly",textvariable=eText)
....
eText.set("...I'm not inserted, I've just appeared out of nothing.")
Solution 3
The solution is simple: temporarily set the state to normal, insert the text, then set it to disabled.
Author by
sixglazed
Updated on September 01, 2020Comments
-
sixglazed over 3 years
I am trying to obtain an Entry that starts with an ellipsis
...
.Here was the code I tried:
e = Entry(rootWin, width=60, state="readonly") e.insert(0, "...")
I think the error is occurring because I am trying to insert text after the object has been classified as readonly.
How can I insert a string in a Tkinter Entry widget that is in the
"readonly"
state? -
BuvinJ about 8 yearsUgly, but true. I tried setting the text while in state disabled, or readonly. Neither are possible. It has to be in state normal. Anton's answer eliminates this hassle of switching back and forth, but creates another in the sense that you need a proxy of sorts.