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

Plattformunabhängige GUIs mit wxWidgets.
Antworten
MasterJulian
User
Beiträge: 14
Registriert: Sonntag 8. November 2009, 17:46

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?
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

urlretrieve blockiert die MainLoop bzw. EventLoop von wxPython, wie man das umgehen kann steht hier: http://wiki.wxpython.org/LongRunningTasks
the more they change the more they stay the same
Antworten