To get all the input from a tkinter.Text
, you should use the method get
from the tkinter.Text
object you are using to represent the text area. In your case, body
should be the variable of type tkinter.Text
, so here's an example:
text = body.get("1.0", "end-1c")
tkinter.Text
objects count their content as rows and columns. The "1.0"
indicates exactly that: you want to get the content starting from line 1 and character 0 (this is the default starting point of a tkinter.Text
object).
Here's a complete working example, where basically on the click of a button, the method get_text
is called and adds the content of body
to an tkinter.Entry
object that I called entry
(through the use of a variable of type tkinter.StringVar
. See documentation for more information):
import tkinter
def get_text():
content = body.get(1.0, "end-1c")
entry_content.set(content)
master = tkinter.Tk()
body = tkinter.Text(master)
body.pack()
entry_content = tkinter.StringVar()
entry = tkinter.Entry(master, textvariable=entry_content)
entry.pack()
button = tkinter.Button(master, text="Get tkinter.Text content", command=get_text)
button.pack()
master.mainloop()
For another good example, see this other post and the first comment below.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…