Anzeige von Dingen aus verschiedenen Threads?
Verfasst: 19. Mai 2017 19:45
Hallo,
ich habe mal eine Anfängerfrage zur Anzeige aus Threads heraus.
Per QListWidget QLabel QTableWidget und auch qcustomplot lasse ich mir diverse Dinge darstellen und solange ich im main-thread bin ist alles prima.
Da ich ein Programm derzeit erweitere und mehrere std::thread für parallele Berechnungen starte bekomme ich Probleme mit der Darstellung der Infos und plots sobald ich versuche aus den Threads Infos oder plots anzuzeigen. Der Fehler ist "cannot send events to objects owned by a different thread".
Scheinbar sind also alle Anzeigen an den Main-thread gebunden und so wird für Threadsicherheit gesorgt. Für die Threadsicherheit hätte ich eigentlich selber gesorgt und per mutex oder atomics die Zugriffe auf die Anzeigen kontrolliert aber es wird ja grundsätzlich nicht zugelassen.
Welche Möglichkeiten gibt es denn, dass Werte aus unterschiedlichen Threads heraus in fixen QListWidget, QLabel, QTableWidget, qcustomplot angezeigt werden?
Viele Grüße
ich habe mal eine Anfängerfrage zur Anzeige aus Threads heraus.
Per QListWidget QLabel QTableWidget und auch qcustomplot lasse ich mir diverse Dinge darstellen und solange ich im main-thread bin ist alles prima.
Da ich ein Programm derzeit erweitere und mehrere std::thread für parallele Berechnungen starte bekomme ich Probleme mit der Darstellung der Infos und plots sobald ich versuche aus den Threads Infos oder plots anzuzeigen. Der Fehler ist "cannot send events to objects owned by a different thread".
Scheinbar sind also alle Anzeigen an den Main-thread gebunden und so wird für Threadsicherheit gesorgt. Für die Threadsicherheit hätte ich eigentlich selber gesorgt und per mutex oder atomics die Zugriffe auf die Anzeigen kontrolliert aber es wird ja grundsätzlich nicht zugelassen.
Welche Möglichkeiten gibt es denn, dass Werte aus unterschiedlichen Threads heraus in fixen QListWidget, QLabel, QTableWidget, qcustomplot angezeigt werden?
Viele Grüße