2012-02-07 11 views
2

私はPythonに関しては初心者です。 と私は日常のことをすべて理解するために勉強しています。Tkinterボタンの情報

私の質問はこれです。

TkinterではTkinterボタンを返すことができます。例えば、 です。

私がボタンをクリックすると、ボタンは のままで、1つのプロセスが終了するまで私のTkinterアプリケーションのこれ以上のオプションにアクセスできなくなります。

Tkinterアプリケーションでマルチタスクを実行することはできますか?

は すべての情報は、私はTkinterのは、スレッドやマルチプロセッシングそれに組み込まれていますが、Pythonはmultiprocessing modulethreading moduleの両方を持っていたことを信じていません:)

+0

私が理解していることを確認したいだけです:ボタンをクリックしてプロセスを開始するまで、Tkinterアプリケーションを停止させたいですか? – kevintodisco

+0

それはあなたの言っていることに近いktodisco しかし、私はまた、私は他のTkinterボタンをクリックすることができますので、ボタンが戻るようにします ボタンをクリックするとき。 ボタンは停止し、次のプロセスが終了するまでGUIが停止します。 別のTkinterボタンを押しても、他のTkinterボタンをクリックしてもらえますか? – enjoipython

+0

ああ、そうだ。私にちょっと待ってください。何かを見つけて、答えを投稿します。 – kevintodisco

答えて

2

素晴らしいことだありがとうございました。

Tkinter Buttonのコールバックでは、これらのモジュールのいずれかを使用して、GUIとは独立して実行される新しいプロセスまたはスレッドを起動し、中断することなく機能させることができます。

ホープこれは:)あなたはボタンが戻ってポップアップ表示するためにあなたの関数の開始時に一度これを行うことができます

+0

あなたのお手伝いをしていただきありがとうございます。あなたの救命救助者は です。 あなたの時間と忍耐力に感謝します。 神の祝福。 – enjoipython

+2

@ user1193746:注意すべきですが、tkinterはスレッドセーフではありません。 'mainloop'が実行されているスレッドからのみGUIオブジェクトとメソッドにアクセスできます。これらの問題については、ウェブ上に多くのリソースがあります。 –

+0

感謝の男病気を念頭に置いておいてください。 ヘッドアップマンのおかげで – enjoipython

0

コールroot.updateを()ことができます、またはあなたは、ループ内でそれを呼び出すことができますあなたの機能の中に(もしあれば)プログラムがフリーズするのを防ぐために。

0

プロセスが開始されて終了すると、値を変更する変数を作成できます。その変数に応じてボタンの状態をdisabledenabledに変更します。あなたが望むなら、いくつかのコードを渡すことができます。