Python 如何获取ScrolledText的内容?
我正在尝试获取滚动文本的内容,但到目前为止还没有成功:) 我不明白我错在哪里。 这里有一个非常简单的不工作代码示例Python 如何获取ScrolledText的内容?,python,tkinter,Python,Tkinter,我正在尝试获取滚动文本的内容,但到目前为止还没有成功:) 我不明白我错在哪里。 这里有一个非常简单的不工作代码示例 from Tkinter import Tk from ScrolledText import ScrolledText def returnPressed(value): print "CONTENT: " + value root = Tk() st = ScrolledText(root) st.bind("<Return>", lambda ev
from Tkinter import Tk
from ScrolledText import ScrolledText
def returnPressed(value):
print "CONTENT: " + value
root = Tk()
st = ScrolledText(root)
st.bind("<Return>", lambda event, i=st.get("1.0", "end-1c"): returnPressed(i))
st.insert("insert", "TEST")
st.pack()
root.mainloop()
从Tkinter导入Tk
从ScrolledText导入ScrolledText
def返回按下(值):
打印“内容:”+值
root=Tk()
st=滚动文本(根)
st.bind(“”,lambda事件,i=st.get(“1.0”,“end-1c”):returnPressed(i))
st.插入(“插入”、“测试”)
圣帕克
root.mainloop()
好,这是因为lambda的定义。
通过这种方式,函数是用常量“i”值创建的,该值是函数声明时的值
通过重新编写lambda,它就工作了
st.bind("<Return>", lambda event: returnPressed(st.get("1.0", "end-1c")))
st.bind(“,lambda事件:returnPressed(st.get(“1.0”,“end-1c”))
好,这是因为lambda的定义。
通过这种方式,函数是用常量“i”值创建的,该值是函数声明时的值
通过重新编写lambda,它就工作了
st.bind("<Return>", lambda event: returnPressed(st.get("1.0", "end-1c")))
st.bind(“,lambda事件:returnPressed(st.get(“1.0”,“end-1c”))
在创建按钮时,您将获得该值,这意味着该值将始终为空。您需要在处理事件时获取值
您应该避免使用lambda,这是一个稍微高级的概念,在这种情况下,它增加了复杂性,但没有增加任何价值。只需从函数中获取值:
def returnPressed(event):
value = event.widget.get("1.0", "end-1c")
print "CONTENT: " + value
...
st.bind("<Return>", returnPressed)
def returnPressed(事件):
value=event.widget.get(“1.0”、“end-1c”)
打印“内容:”+值
...
st.bind(“,按回车键)
在创建按钮时,您将获得该值,这意味着该值将始终为空。您需要在处理事件时获取值
您应该避免使用lambda,这是一个稍微高级的概念,在这种情况下,它增加了复杂性,但没有增加任何价值。只需从函数中获取值:
def returnPressed(event):
value = event.widget.get("1.0", "end-1c")
print "CONTENT: " + value
...
st.bind("<Return>", returnPressed)
def returnPressed(事件):
value=event.widget.get(“1.0”、“end-1c”)
打印“内容:”+值
...
st.bind(“,按回车键)
不是因为lambda定义:在计算函数声明时计算默认参数不是因为lambda定义:在计算函数声明时计算默认参数