Signal / Slot Frage
-
Hallo,
ich habe ein Frage betreffend der SIGNAL/SLOT Verbindung.
Ich erstelle aktuell in meiner Main ein Objekt "uReceiver" der Klasse "UdpReceiver". Diese habe ich im RootContext bekannt gemacht um aus der QML darauf zuzugreifen. Das hat soweit auch alles super funktioniert (mit Hilfe aus dem Forum hier).
Jetzt habe ich eine zweite Klasse "FileIO" (auch in der main erstellt) die Daten bereitstellt die in der QML eine Tabelle füllt. Auch die Funktioniert soweit so gut.
Jetzt wollte ich per SIGNAL/SLOT erreichen das wenn das SIGNAL von der uReciver kommt "das ein kompletter QString mit Daten vorhanden sind der SLOT zum setzen des QString in der FileIO ausgeführt wird und da bin ich gerade etwas ratlos.
Ich habe versucht den Connect sowohl in der "UdpReiver" Klasse, als auch in der "FileIO" Klasse auszuführen was nicht funktioniert da ich ja keine entsprechenden Objekte habe da diese in der Main erstellt werden.
Wenn ich versuche den connect in der main umzusetzen meldet er "no matching function for call to 'connect'. Was aus meiner sicht ja logisch ist weil da der MOC ja nicht arbeitet wenn ich es richtig verstanden habe.
Meine Frage ist jetzt, wie kann ich im "connect" in einer der Klassen auf Objekte die ich in der Main erstelle verweisen (und geht das überhaupt) oder habe ich da in der gesammten Erstellung schon einen Fehler und ich muss das ganze Projekt neu strukturieren.
Besten dank im Voraus
Marco
-
hi @Throndar
das sollte einfach genug zu lösen sein.
in der main kannst du auch connect nutzen. Da aber main nicht von QObject abgeleitet ist, musst du die statischen connect nutzen, also
QObject::connect(a , b, c, d, typ);
anstatt
connect(a , b, c, d, typ);