Python Tkinter如何绑定Text内容改变事件?
绑定一个处理函数到这个事件,当Text的内容发生变化时,执行处理函数。百度知道上的另一个回答不是回复的PythonTkinter的内容,请不要复制答案...
绑定一个处理函数到这个事件,当Text的内容发生变化时,执行处理函数。百度知道上的另一个回答不是回复的Python Tkinter的内容,请不要复制答案
展开
2个回答
展开全部
python tkinter使用Entry做为文本框输入,通过textvariable绑定数据给文本框,然后中使用get函数获取内容。如果想要Enter获取内容,则需要绑定<Return>事件,代码如下:
from tkinter import *
def rtnkey(event=None):
print(e.get())
root = Tk()
e = StringVar()
entry = Entry(root, validate='key', textvariable=e, width=50)
entry.pack()
entry.bind('<Return>', rtnkey)
root.title('测试回车获取文本框内容')
root.mainloop()
效果如下:
追问
不是回车,而是输入就会有变化,就像现在的百度知道回答,在输入的同时就会有总字数提醒。
另外问的是Text控件不是Entry,但是如果Text不能实现那Entry也行吧,
2019-06-12
展开全部
您好,我想到了这个方法:
# coding : utf-8
from tkinter import *
root = Tk()
last_text = ''
def text_change(event):
global last_text
got = text.get('1.0', 'end')
if got != last_text:
last_text = got
print('文本被修改了')
text = Text(root)
text.bind('<Key>', text_change)
text.grid()
root.mainloop()
不过还是有些问题,有时候会重复调用,比如输入一串中文时
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询