QSignalMapper zwei Variablen übergeben

Alles rund um die Programmierung mit Qt
Antworten
Q_Beginner
Beiträge: 10
Registriert: 16. November 2005 12:33

QSignalMapper zwei Variablen übergeben

Beitrag von Q_Beginner »

Guten Tag alle zusammen.
ich habe ein Problem bei der Verwendung der Klasse QSignalMapper. Ich möchte eine Anzahl von LineEdits in einer for-Schleife initialisieren und dann alle mit einem Slot verbinden. Gibt es dabei die Möglichkeit den index der Schleife und gleichzeitig den eingegebenen Text aus dem LineEdit-Objekt an den Slot zu übergeben. bis jetzt habe ich:

Code: Alles auswählen

sm = new QSignalMapper(this);
connect(sm, SIGNAL(mapped(int)), this, SLOT(setzeText(int)));

for(int j=0;j<i;j++){
...
le[j] = new QLineEdit();
sm->setMapping( le[j], j );
connect(le[j], SIGNAL(editingFinished()),
sm, SLOT(map()));
...
}
kann man das ganze so erweitern, dass auch gleich der in LineEdit eingegebene String mit übergeben wird?
Oder hat jemand eine Idee, wie man das auf andere Weise realisieren kann?
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: QSignalMapper zwei Variablen übergeben

Beitrag von macman »

Q_Beginner hat geschrieben:kann man das ganze so erweitern, dass auch gleich der in LineEdit eingegebene String mit übergeben wird?
Nicht das ich wüßte, aber durch den SignalMapper weißt Du doch von welchem Widget das Signal kam und kannst den Text dann auslesen.
Q_Beginner
Beiträge: 10
Registriert: 16. November 2005 12:33

Beitrag von Q_Beginner »

das stimmt natürlich. Aber ich wollte die beiden Variablen direkt an den Slot eines Objektes schicken, das ich in dieser KLasse erzeuge. Aber mit einem Zwischenschritt wird es dann auch gehen. Danke
Antworten