私はTkinterとしばらくの間戦っており、これを参照するためのリソースをほとんど使い果たしました。私はここにいくつかの似たようなトピックを見つけましたが、誰も私が必要な場所に私を連れて来ません。Python Tkinterは、応答のないGUIを避けるために別のスレッドでサブプロセスを実行します
私は、CLIからサブプロセスを使ってアプリケーションをサイレントインストールする長い実行時間(実際には10-12秒しかかかりません)のpythonスクリプトを持っています。サブプロセスが正常に動作し、アプリケーションを正常にインストールしましたが、実行後にGUIがロック(つまりハング/フリーズ)します(プログラムは後続のコードを実行しません)。私はここでスレッドを使用する必要があることを知っていますが、私はすでに無駄にそれを使用してみました。
学習プロセスの一環として、私はGithubからレポをクローンし、Windows上で実行するように修正し(MACプラットフォームでのみ実行されるため)、これを拡張する予定です。これが私が突っ込んだ部分です。これは初めてのTKinterの使用です。愚かなことを逃した場合や正しい方法で質問しなかった場合はお詫びします。あなたが私を助け、援助のために事前に感謝したいと思います。
コードはlinkにあります。
こんにちはJ.J。、ありがとう、私は家に帰ったときにこのアプローチを試みます。 しかし、私が提供したコードはMACプラットフォームから作業していましたが、これはまだ試してみる価値があります。サブプロセス機能はどうですか?実行には10〜15秒かかりますが(正しく動作しましたが)、GUIが凍結するような何かがあると思いますか? – Maynard
こんにちはJ.J.非常にありがとうございました。私は、この方法を使用してキャンセルボタンとインストールボタンを正常に更新でき、GUIはハングしません。エラーが発生したので、イベント・パラメータをon_install_complete(event)に追加しました。 Tkinterウィジェットを含む他の呼び出しを削除し、別の仮想イベントを作成しましたが、何らかの理由で機能しません(GUIがフリーズする)。ここに私が追加した[コード](http://pastebin.com/u28UqLHg)があります。私はこれについての回避策を得ることはできません、あなたの援助をもう一度期待し、前もって感謝します。 – Maynard
@マナーナード完全なコードを見ることなく何が間違っているのかを推測するのはかなり難しいです。 –