ich habe eine Applikation, in der Messwerte von einer Hardwareplatine als Diagramm und als Messwert dargestellt werden.
Die Messwerte werden alle 50mSec timer-getriggert von der Platine abgeholt.
Zur Visualisierung habe ich jetzt zwei Threads gestartet.
Einem zum Aktualiseren des Diagramms und den zweiten zum aktualisieren der Messwerte in Form von wxStaticText.
Code: Alles auswählen
thread.start_new_thread(self.RedrawGraph, ())
thread.start_new_thread(self.RedrawValues, ())
def RedrawValues(self):
while (self.__btnState == BtnState.BTN_STATE_MONITOR):
if (self.__CaptureCounter >= 5):
self.staticTextDiffVal.SetLabel(str(self.__curDiff))
self.staticTextKalVal.SetLabel(str(self.__curGCF))
def RedrawGraph(self):
while (self.__btnState == BtnState.BTN_STATE_MONITOR):
if (self.__CaptureCounter >= 5):
self.__PlotCurve()
Probehalber habe ich nur den Thread zum Aktualisieren des Diagramms("RedrawGraph") gestartet. In diesem Fall funktioniert die Aktualisierung des Diagramms und man erhält eine laufende Kennlinie für die Messwerte.
Hat jemand eine Idee, warum bei zwei Threads nur der eine ausgeführt wird?
Eine Zusammenfassung der GUI-Aktualisierung in einem Thread(Diagramm und Messwerte) möchte ich vermeiden.
Danke für eure Hilfe
greets george