Seite 1 von 1

GUI-Elemente sofort zeichen / draw now

Verfasst: Montag 10. Februar 2020, 20:42
von benst
Hallo zusammen,

kann mir jemand sagen, wie ich GUI-Element sofort update/neuzeichne?

Ich habe eine GUI erstellt. Beim Klick auf ein QPushButton werden Berechnungen angestellt, welche eine gewisse Zeit benötigen. Den aktuellen Status würde ich gerne durch die Hintergrundfarbe von dem Button darstellen. Dazu habe ich eine Funktion der folgenden Form erstellt:

Code: Alles auswählen

def run(self):
	try:
		self.pb_run.setStyleSheet("background-color:yellow;")
		do_something()
		self.pb_run.setStyleSheet("background-color:green;")
	except Exception as e:
		print_ex(e)
		self.pb_run.setStyleSheet("background-color:red;")
Während der Berechnung soll das Button gelb sein, nach Abschluss der Berechnung grün und falls ein Fehler auftritt soll es rot sein.
Prinzipiell funktioniert es auch, aber während der Berechnung wird die Darstellung vom Button nicht aktualisiert.
Deshalb bräuchte ich einen Befehl wie "drawnow" (bei Matlab).
Bei Google habe ich bisher nicht die passenden Suchbegriffe eingegeben, deshalb bin ich noch nicht fündig geworden. Hat jemand einen Tipp für mich?

Vielen Dank und viele Grüße
Ben

Re: GUI-Elemente sofort zeichen / draw now

Verfasst: Montag 10. Februar 2020, 23:34
von __deets__
Es gibt da verschiedene Lösungen, die unmittelbarste ist wahrscheinlich https://doc.qt.io/qt-5/qcoreapplication ... ssEvents-1