0
Tkinterを使用してguiアプリケーションを作成しています。これは時間のかかる機能を含む外部の.pyファイルに格納された他のコードをインポートします。私がしたいことは、インポートされたスクリプトで実行されているいくつかの関数に従って更新されるGUIウィンドウ上にプログレスバーを置くことです。インポートされたコードからのTkinter更新プログレスバー
桂スクリプト例:
#gui script
import tkinter
from tkinter import ttk
from somefile import somefunc
progcomp = ttk.Progressbar(root, orient='horizontal', length=200, mode = 'determinate', maximum=100)
somefunc()
外部関数の例:
#somefile.py
def somefunc():
for i in range(1000):
#dosomething
#update progressbar of gui script
私の実際のコードは、このような質問に表示するには長すぎるので、私は単純に可能な限りそれを表現することを選びました。私の質問は、これが可能なのか、それとも達成するためにインフラストラクチャを変えなければならないのでしょうか?
よりよい:' – furas
はそれがするので 'for'ループが問題になります長時間実行'mainloop()'を止めてウィンドウがフリーズするようにします。 – furas
@furas私はすでにそれを試しましたが、somefunc()が返ってきたときだけバーが更新されるようです。 – Tsaras