如何获取 tkinter 文本对象的内容
How to get the content of a tkinter Text object
我正在尝试使用 tkinter.Text
在 Python 中创建文本区域。这样,我想获得他们放入该文本区域的所有输入,并将其显示在其上方的 Entry 字段中。它给出了一个错误,说它需要两个参数。
from Tkinter import *
def create_index():
var = body.get(0)
link.insert(10,var)
file.close()
master = Tk()
Label(master, text="Link:").grid(row=0)
Label(master, text="Body:").grid(row=1)
link = Entry(master)
body = Text(master)
link.grid(row=0, column=1)
body.grid(row=1, column=1)
Button(master, text='Show', command=create_index).grid(row=3, column=1, sticky=W, pady=4)
mainloop()
要从 tkinter.Text
获取所有输入,您应该使用 tkinter.Text
对象中的方法 get
来表示文本区域。在你的例子中,body
应该是 tkinter.Text
类型的变量,所以这里有一个例子:
text = body.get("1.0", "end-1c")
tkinter.Text
个对象将其内容计为行和列。 "1.0"
表示:您想要从第 1 行和第 0 个字符开始获取内容(这是 tkinter.Text
对象的默认起点)。
这是一个完整的工作示例,基本上是在单击按钮时调用方法 get_text
并将 body
的内容添加到我调用的 tkinter.Entry
对象entry
(通过使用 tkinter.StringVar
类型的变量。有关详细信息,请参阅文档):
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()
关于另一个很好的例子,请参阅其他 post 和下面的第一条评论。
我正在尝试使用 tkinter.Text
在 Python 中创建文本区域。这样,我想获得他们放入该文本区域的所有输入,并将其显示在其上方的 Entry 字段中。它给出了一个错误,说它需要两个参数。
from Tkinter import *
def create_index():
var = body.get(0)
link.insert(10,var)
file.close()
master = Tk()
Label(master, text="Link:").grid(row=0)
Label(master, text="Body:").grid(row=1)
link = Entry(master)
body = Text(master)
link.grid(row=0, column=1)
body.grid(row=1, column=1)
Button(master, text='Show', command=create_index).grid(row=3, column=1, sticky=W, pady=4)
mainloop()
要从 tkinter.Text
获取所有输入,您应该使用 tkinter.Text
对象中的方法 get
来表示文本区域。在你的例子中,body
应该是 tkinter.Text
类型的变量,所以这里有一个例子:
text = body.get("1.0", "end-1c")
tkinter.Text
个对象将其内容计为行和列。 "1.0"
表示:您想要从第 1 行和第 0 个字符开始获取内容(这是 tkinter.Text
对象的默认起点)。
这是一个完整的工作示例,基本上是在单击按钮时调用方法 get_text
并将 body
的内容添加到我调用的 tkinter.Entry
对象entry
(通过使用 tkinter.StringVar
类型的变量。有关详细信息,请参阅文档):
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()
关于另一个很好的例子,请参阅其他 post 和下面的第一条评论。