Seite 1 von 1

Applikation gibt "keine Rückmeldung" (Refresh?)

Verfasst: Samstag 24. Juli 2010, 13:03
von MasterJulian
Ok die Überschrift ist ein wenig merkwürdig, aber ich wusste nicht, wie ich das anders beschreiben sollte. Mein Script läd eine Datei aus dem Netz. Der relevante Code sieht so aus:

Code: Alles auswählen

[...]
urllib.urlretrieve('meineUrl','LokaleDatei',reporthook=dlhook)
[...]
def dlhook(count, blockSize, totalSize):
[...]
    lblspeed.SetLabel('%i%%  %ikb/s' % (percent,speed))
    prgbar.SetValue(percent)
    [...]
lblspeed und prgbar sind ein wx.StaticText und ein wx.Gauge die ich global definiert habe um von überall darauf zu zugreifen (ich weiß ist nicht schön aber funktioniert). Das ganze funktioniert auch solange, biss ich irgendwo auf das Programm klicke. Dann bekomme ich die Windows Typische "Keine Rückmeldung" Fehlermeldung und das Fenster wird gefreezed und ich bekomme somit keinen aktuellen Status. Nach dem Download geht alles wieder. Muss ich das Panel irgendwie refreshen?

Re: Applikation gibt "keine Rückmeldung" (Refresh?)

Verfasst: Samstag 24. Juli 2010, 13:17
von Dav1d
urlretrieve blockiert die MainLoop bzw. EventLoop von wxPython, wie man das umgehen kann steht hier: http://wiki.wxpython.org/LongRunningTasks