0
Ich habe Probleme mit WxPython und animierte (GIF) Splash während der langen Einnahme-Funktion. Bisher habe ich:Animierte Splash in WxPython
class Splash(wx.SplashScreen):
def __init__(self, parent=None, id=-1):
image = "spinner.gif"
aBitmap = wx.Image(name =image).ConvertToBitmap()
splashStyle = wx.SPLASH_CENTRE_ON_PARENT
splashDuration = 0 # milliseconds
wx.SplashScreen.__init__(self, aBitmap, splashStyle,
splashDuration, parent)
gif = wx.animate.GIFAnimationCtrl(self, id, image,)
self.Show()
self.gif = gif
def Run(self,):
self.gif.Play()
Ich möchte wie etwas tun:
splash = Splash()
splash.Run()
result = very_time_consuming_function()
splash.Close()
...
use the result
Jede Eingabe wird
Aber ich brauche den Rückgabewert der Funktion zu verwenden. Grundsätzlich möchte ich die Hauptfunktion "warten" lassen bis die andere Funktion beendet ist und weiter auf den Rückgabewert zurückgreifen und in der Zwischenzeit den Splash-Drall haben. Ich habe auch versucht, den Splash in einem separaten Thread zu starten und die Funktion von der Hauptfunktion aufzurufen, aber ich lasse die Animation nur im Hauptthread laufen. – Magen