Seite 1 von 1

QSignalMapper zwei Variablen übergeben

Verfasst: 9. Dezember 2005 10:59
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?

Re: QSignalMapper zwei Variablen übergeben

Verfasst: 9. Dezember 2005 15:21
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.

Verfasst: 12. Dezember 2005 08:39
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