wx.ListCtrl live-aktualisierung
Verfasst: Freitag 22. Juni 2007, 14:44
hallo mal wieder...
Ich hab hier so ne schicke wx.ListCtrl in meinem Programm in der die Clients aufgezaehlt werden.
Wenn ich nun den (fast genauso schicken
) connect-Button druecke, wird eine Funktion aufgerufen, die nacheinander die Server durchgeht und versucht zu verbinden:
Also an sich funktioniert das auch ganz gut... bis auf das die Liste nicht aktualisiert wird, bevor er alle Server durchprobiert hat.
Ich hab schon extra mal ein sleep(1) eingebaut, aber das hilft genauso wenig wie das .Refresh(). ...woran liegt das?
Danke schonmal und Gruesse aus Sachsen-Anhalt...
EDIT: vielleicht sollte noch erwaehnt werden, dass die Client-Klasse von Thread aberbt und Pyro zur Netzwerkkommunikation benutzt (sieht man ja bei der Instanzierung)...
Ich hab hier so ne schicke wx.ListCtrl in meinem Programm in der die Clients aufgezaehlt werden.
Wenn ich nun den (fast genauso schicken

Code: Alles auswählen
def updateConnectedHosts(self, evt):
#clients = list() # brauch ich spaeter... vielleicht
i=0
#p2p_info ist eine liste von entsprechenden 2er-tuples
for ip, name in p2p_info:
print ip, name
if self.p2p_connectedList.GetItem(i, 2).GetText() == "not connected":
self.p2p_connectedList.SetStringItem(i, 2, "trying to connect")
self.p2p_connectedList.Refresh()
client = Client("PYROLOC://"+ip+":7766/test")
try: client.run()
except: pass
if client.connected():
self.p2p_connectedList.SetStringItem(i, 2, "connected")
self.p2p_connectedList.Refresh()
else:
self.p2p_connectedList.SetStringItem(i, 2, "not connected")
self.p2p_connectedList.Refresh()
time.sleep(1)
i+=1
Ich hab schon extra mal ein sleep(1) eingebaut, aber das hilft genauso wenig wie das .Refresh(). ...woran liegt das?
Danke schonmal und Gruesse aus Sachsen-Anhalt...
EDIT: vielleicht sollte noch erwaehnt werden, dass die Client-Klasse von Thread aberbt und Pyro zur Netzwerkkommunikation benutzt (sieht man ja bei der Instanzierung)...