Jor*_*tle 1 python tkinter python-2.7
我正在尝试使用Pythontkinter.Text
创建文本区域。这样,我想获取他们放入该文本区域的所有输入并将其显示在其上方的输入字段中。它给出一个错误,说它需要两个参数。
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()
Run Code Online (Sandbox Code Playgroud)
要从 a 获取所有输入,您应该使用用于表示文本区域的对象中的tkinter.Text
方法。在您的情况下,应该是 type 的变量,所以这里是一个例子:get
tkinter.Text
body
tkinter.Text
text = body.get("1.0", "end-1c")
Run Code Online (Sandbox Code Playgroud)
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()
Run Code Online (Sandbox Code Playgroud)
对于另一个很好的例子,请参阅另一篇文章和下面的第一条评论。
归档时间: |
|
查看次数: |
13310 次 |
最近记录: |