python tkinterで車を押してクリアTextをクリアし、同時にカーソルが0.0に表示されます.

817 ワード

発生した問題:
Textの中のバインディングイベントを使ってTextの内容をクリアしたい時、いつも先にクリア操作を実行してから車に戻る操作を実行します.このように毎回Textの他の内容は全部クリアしましたが、返送車を残します.
 
考え方:
  • は、ビッド方式を用いてキーボードのイベントを取得し、キーボードイベントのkeycodeが13に等しいときにイベントをトリガする.
  • は、トリガイベントとしてスレッドを新規に作成する.
  • はスレッド内で、timeモジュールのsleep関数を使用して待機し(Text中のエコーイベントが終了するまで待つ)、その後Delete方法を使用してText中のすべてのテキストを削除する.
  •  
    例:
            def func_thrd_ExecuteCommand():
                time.sleep(0.01)
                self.txt_.delete(0.0, END)
            def handle_Input(event):
                if event.keycode==13:
                    thrd_once=threading.Thread(target=func_thrd_ExecuteCommand)
                    thrd_once.start()
            txt_ = Text(root)
            txt_.bind('',func=handle_Input)
            txt_.pack(side=BOTTOM, padx=0, fill='both', expand=NO)