-1

我在 python 中使用 tkinter,并希望将事件添加到 Entry 小部件。我希望它等待输入文本,然后在输入文本时执行操作。

大意是:

self.entry(command=self.event)

有没有办法做到这一点?

4

1 回答 1

1

您没有指定如何确定用户已完成输入。你可以:

  • 使用超时- 检查两个字母之间经过了多长时间,如果延迟超过 3 秒,则处理输入。你的典型用户不会喜欢这个解决方案,但它似乎就是你所追求的。这样做的方法:

    1. “定义”你的 StringVar:s = Tkinter.StringVar(root)
    2. 分配回调以写入您的 StringVar:s.trace('w', handle_input)
    3. 在你的handle_input回调中处理延迟检查和有用的代码
    4. 创建 Entry 小部件时,将 StringVar 作为文本变量传入:e = Tkinter.Entry(root, textvariable=s)
  • 完成输入后使用 enter 键-将事件绑定 "<Enter>"到 Entry 小部件:

    e.bind('<Enter>', handle_input)
    
于 2009-06-08T13:53:19.690 回答