-1

Python で tkinter を使用しており、エントリ ウィジェットにイベントを追加したいと考えています。テキストが入力されるのを待ってから、テキストが入力されたときにアクションを実行したいと思います。

効果のあるもの:

self.entry(command=self.event)

とにかくこれを行うことはありますか?

4

1 に答える 1

1

ユーザーが入力を終了したことをどのように判断するかを指定しませんでした。あなたはできる:

  • タイムアウトを使用- 2 文字の間に経過した時間を確認し、遅延が 3 秒よりも長い場合は入力を処理します。典型的なユーザーはこのソリューションを好まないでしょうが、それがあなたの求めているものであるように思われるでしょう。これを行う方法:

    1. StringVar を「定義」します。s = Tkinter.StringVar(root)
    2. StringVar に書き込むためのコールバックを割り当てます。s.trace('w', handle_input)
    3. handle_inputコールバックで遅延チェックと便利なコードを処理する
    4. Entry ウィジェットを作成するときは、StringVar を textvariable として渡します。e = Tkinter.Entry(root, textvariable=s)
  • 入力が終わったら Enter キーを使用-イベントを Entry ウィジェットにバインドします。 "<Enter>"

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