2011-12-17 24 views
4

私はフォーム上に2つのボタンがあります。私はボタンを押したときに押された状態のままで、フレームはボタン1の操作が終了するまで無反応のままです。 button2私は新しいxtermを開きたいですが、xtermウィンドウを閉じるまで、GUI全体が応答しません。 なぜですか? ありがとう、私は2日前にTKinterを使い始めましたので、簡単に私に行ってください:)Python TKinter複数の操作

答えて

4

Tkinterは単一スレッドで動作します。だからあなたがボタンを押すと、コールバックコマンドは明らかに長い間戻ってきていません。これにより、コールバックコマンドが返るまでTkinter GUIがフリーズします。

可能であれば、コールバックコマンドをループ(おそらくループ)に分割し、を頻繁に呼び出して、Tkinter GUIを更新できるようにします。

これが可能でない場合、コールバックコマンドはspawn a threadである必要があります。そのため、実行によってTkinterメインイベントループがブロックされません。

+0

回答ありがとうございました。 –

関連する問題