Ich führe einen Requwest aus, der unregelmäßig lage dauert. Während diesem Request möchte ich einen animieten Dialog darstellen. Ds habe ich auch schon gemacht. Dieseer Dialog läuft in einem eigenen Thread. Jetzt möchte ich aber, das der Dialog sich nach "eintreffen" der Requestdaten beendet. Wie kbekomme ich das hin?
Hier ist der Code für den animierten Dialog.
Code: Alles auswählen
class PauseDlg(wxDialog):
def __init__(self, parent, ID, title, pos=wxDefaultPosition, size=wxDefaultSize,style=wxDEFAULT_DIALOG_STYLE):
wxDialog.__init__(self, parent, -1, 'Bitte warten.......',size=(350, 150), style = wxDEFAULT_DIALOG_STYLE)
self.count = 0
self.x=1
maxCount = 11# Maximale Bilderanzahl im Gif
gif = wxImage('.\images\wait.gif', wxBITMAP_TYPE_GIF,self.count).ConvertToBitmap()
self.myBitmap = wxStaticBitmap(self, -1, gif, wxPoint(20, 20), wxSize(70,70))
thread.start_new_thread(self.waitPicture,(maxCount,status))
b1 = wxButton(self, -1, 'Abbrechen', wxPoint(140, 70))
b1.SetDefault()
EVT_BUTTON(self, b1.GetId(), self.OnExit) # schliesst das Fenster
def waitPicture(self,maxCountstatus):
""" Wandert ein Gif Bild f�Bild durch | waitPicture(self, event) """
print 'thread'
while 1:
#~ self.x+=1
#~ if self.x == 50:
#~ self.OnExit('')
#~ break
#~ print self.x
if status == 1:
self.OnExit('')
break
self.count += 1
if self.count > maxCount:
self.count -= maxCount
gif = wxImage('.\images\wait.gif', wxBITMAP_TYPE_GIF,self.count).ConvertToBitmap()
self.myBitmap.SetBitmap(gif)
wxUsleep(100)
def OnExit(self, event):
self.Close(true)
Code: Alles auswählen
sDlg = PauseDlg(None, -1, 'Bitte warten.......', size=wxSize(350, 200), style = wxDEFAULT_DIALOG_STYLE)
Die Codezeilen, in denen ich den Request starte usw.
Code: Alles auswählen
query = urllib.urlencode([(nodeName, val)])
httpConnection = httplib.HTTPConnection(httpServer)
httpConnection.request(httpMethod, httpPath+'?'+query)
res = httpConnection.getresponse()
ICh hoffe ihr könnt mir weiterhelfen.
