SIGNAl SLOT über Klassen hinweg

Alles rund um die Programmierung mit Qt
Antworten
navyseabear
Beiträge: 7
Registriert: 7. Februar 2018 07:10

SIGNAl SLOT über Klassen hinweg

Beitrag von navyseabear »

Moin moin,
ich habe da ein, hoffentlich kleines Problem.
Also, ich habe ein MainWindow aus welchem ein weiteres Fenster aufruft in dem sich QGraphicsView befindet. Ebenfalls in dem Fenster ist ein QLineEdit.
In einer separaten Klasse (mytextitem) erzeuge ich diverse QGraphicsTextItem, welche ich in dem QGraphicsView anzeige. Soweit alles ok.
Nun möchte ich gerne, dass wenn ich in dem QLineEdit etwas eingebe und mit Return abschliesse, dieses in der Klasse (mytextitem) für jedes einzelne QGraphicsTextItem geprüft wird und wenn die entsprechende Bedingung erfüllt ist, eine entsprechende Anweisung ausführt.
Leider weiß ich nicht, wie ich die SIGNAL / SLOT Verbindungen zwischen meiner Klasse und dem QLineEdit (returnPressed) hinbekomme. Meine Klasse kennt das QLineEdit nicht und mein Fenster kennt meine Funktion in meiner Klasse nicht.
Was ich brauche wäre ein einfaches Beispiel wie ich so etwas hinbekomme.
Vielleicht kann mir ja da jemand helfen?

mfg
Tobias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: SIGNAl SLOT über Klassen hinweg

Beitrag von Christian81 »

Dort wo das QLineEdit ist kann man z.B. eigene Signals erzeugen und so das gewünschte Signal vom QLineEdit nach außen leiten. Oder eben die nötigen Pointer übergeben (wie herum kommt ist im Grunde ja egal, sollte nur sinnig sein damit keine Kreuz-Dependencies entstehen).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
navyseabear
Beiträge: 7
Registriert: 7. Februar 2018 07:10

Re: SIGNAl SLOT über Klassen hinweg

Beitrag von navyseabear »

Erst einmal vielen Dank.
Leider bin ich noch recht neu mit Qt und blicke noch nicht so richtig durch.
Hast du ggf. ein Beispiel, bei dem der Wert eines QLineEdit an eine Klasse übergeben wird?
Mein Problem ist ja, dass meine Klasse mehrfach aufgerufen wird und es daher auch mehrere Instanzen davon gibt. Also müsste doch eigentlich, von meinem Verständnis her, die Klasse selber das QLineEdit abfragen wenn Return gedrückt wird. Nur so kann ich doch sicherstellen, dass jede Instanz auch wirklich den Wert bekommt und dann selber darauf reagiert. Oder sehe ich das jetzt falsch???


mfg
Tobias
Antworten