0

私のpythonプロジェクトには複数のスレッドが実行されています。 wxpythonライブラリからゲージウィジェットを追加して、進捗状況を表示したいと思います。最初のスレッドが完了するまでゲージを埋めるようにします。これをどのように達成するのですか?私はWindowsでPython 2.7を使用しています。wxpython GaugeウィジェットとPythonのスレッドを同期させる方法は?

答えて

0

ワーカースレッドからメインスレッドにイベントを送信して、ゲージの更新を依頼する必要があります。this overviewを参照してください。あなたはいくつかの簡単な事は、モジュールをインポートすることを忘れない 使用することができます

1

使用wx.CallAfter

def add_to_the_gauge(value): 
    your_gauge.Value += value 


... 
#in some thread 
def some_thread_running(): 
    wx.CallAfter(add_to_the_gauge, 2) 
0

import os 

、その後のフレームでこれを置く

def __init__(self, *a, **k): 
    filename = 'game.exe' 


    self.timer = wx.Timer() 
    self.Bind(wx.EVT_TIMER, self.OnUpdateGauge, self.timer) 
    self.timer.Start() 
    self.proc = os.popen(filename) # start the process 

def OnUpdateGauge(self, event): 
    if self.proc.poll() == None: # return None if still running and 0 if stopped 
     self.timer.Stop() 
     return 
    else: 
     '''do something with the gauge''' 

希望それらの助け

関連する問題