Python Tkinter如何绑定Text内容改变事件?

绑定一个处理函数到这个事件,当Text的内容发生变化时,执行处理函数。百度知道上的另一个回答不是回复的PythonTkinter的内容,请不要复制答案... 绑定一个处理函数到这个事件,当Text的内容发生变化时,执行处理函数。百度知道上的另一个回答不是回复的Python Tkinter的内容,请不要复制答案 展开
 我来答
藤原子大雄
2018-01-19 · TA获得超过7197个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1755万
展开全部

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()

效果如下:

追问
  1. 不是回车,而是输入就会有变化,就像现在的百度知道回答,在输入的同时就会有总字数提醒。 

  2. 另外问的是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()

不过还是有些问题,有时候会重复调用,比如输入一串中文时

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式