Python-Qt: Problem mit Schleife

Always-Godlike

Always-Godlike

Das Freak
moin UB'ler

hab en kleines Problem mit einer Schleife in Python.
Code:
def netchecker(self):
		global iplist, item, ipicon

		#Hier soll die Nachricht in der Statusbar geändert werden, noch vor der Schleife
		#Allerdings wird sie erst nach der Schleife geändert
		self.statuslabel.setText(QtGui.QApplication.translate("MainWindow", "Pings werden durchgeführt...", None, QtGui.QApplication.UnicodeUTF8))

		for i in range(len(iplist)):
			ipicon[i].addPixmap(QtGui.QPixmap("link_working.gif"),QtGui.QIcon.Normal,QtGui.QIcon.On)
			item[i].setIcon(ipicon[i])
			ret = os.popen("./pinger.sh '%s'" % iplist[i]).read().strip()
			if ret == "1":
				print "Erfolg bei "+iplist[i]
				ipicon[i].addPixmap(QtGui.QPixmap("link_online.gif"),QtGui.QIcon.Normal,QtGui.QIcon.On)
				item[i].setIcon(ipicon[i])
			else:
				print "Misserfolg bei "+iplist[i]
				ipicon[i].addPixmap(QtGui.QPixmap("link_offline.gif"),QtGui.QIcon.Normal,QtGui.QIcon.On)
				item[i].setIcon(ipicon[i])

Diese Schleife soll verschiedene Hosts anpingen und bei Erfolg ein grünes Symbol in die Liste setzen, bei Misserfolg entsprechend ein rotes. Während diese Schleife durch läuft, soll in der StatusBar ein Label gezeigt werden "Pings werden durchgeführt".
Dieser Code funktioniert jetzt zwar, aber leider werden die ganzen Änderungen (neue Icons und StatusBar-Nachricht) erst vollzogen wenn die Schleife komplett beendet ist.

Frage: Warum macht er die Änderung nicht sofort und wie bring ich ihn dazu die Änderungen sofort anzuzeigen?
 

Anhänge

  • netchecker.jpg
    netchecker.jpg
    56,3 KB · Aufrufe: 15
Zuletzt bearbeitet:
4 Tage später und ewiges googeln hat mir die Erleuchtung erbracht und ich hab mein Problem gelöst.
self.listWidget.repaint()
Und schon werden die Icons geändert, entsprechend auch bei der Statusbar.

Wonach soll bei so einem Problem auch suchen?
 
Zurück
Oben