シンプルなPythonアプリケーションを開発してから、Tkinterを使って簡単なGUIを追加することにしました。Tkinterの凍結を避けるには?
問題は、主な機能がその機能を果たしている間に、ウィンドウがフリーズすることです。
私はそれが共通の問題であることを知っています。私は、多機能(それぞれの機能がGUIを更新するので非常に複雑です)を使用するか、 とにかく私はそのようなばかげたアプリケーションのコードを変更したくありません。
私の質問です:私のTkinterウィンドウを毎秒更新するのは簡単な方法はありませんか?私はKISSルールを適用したいだけです!
は、私が試したが、うまくいきませんでしたその下にあなたの擬似コードの例をあげる:
class Gui:
[...]#costructor and other stuff
def refresh(self):
self.root.update()
self.root.after(1000,self.refresh)
def start(self):
self.refresh()
doingALotOfStuff()
#outside
GUI = Gui(Tk())
GUI.mainloop()
それは単に一度だけリフレッシュを実行します、と私はその理由を理解することはできません。
ありがとうございました。
あなたのプログラムが 'doingALotOfStuff()'を呼び出している間、毎秒 'self.refresh'を実行するとは期待できません。私はあなたがマルチスレッドを回避するとは思わない。 –
私はそれを得た。そのようなシンプルなソフトウェアをやるのは簡単な解決策ではありません...誰かが私たちにどんなトリックを見せてくれるのでしょうか? – decadenza