Rückgabe möglich bei Methoden, die bei Ereignissen angestossen werden?



  • Ich schreibe aus Spass ein kleines Backupprogramm in QT. Es soll mittelsn rsync Verzeichnisse synchonisiert werden. Ich muss ja für die Quelle und das Ziel Verzeichnisse auswählen. Dazu habe ich eine Methode QString::holePfad geschrieben und es mit einem Click Event eines Buttons registriert.
    connect(ui->buttonQuelle, SIGNAL(clicked()), SLOT(holePfad()));
    connect(ui->buttonZiel, SIGNAL(clicked()), SLOT(holePfad()));

    Die Methode holePfad funktioniert, jedoch weiss ich nicht, wie ich den Rückgabewert von holePfad in eine QString-Variable quelle bzw. ziel speichern kann. Habe den Eindruck, dass alle Methoden, die bei einem Ereignis angestossen werden, keine Rückgabe machen.



  • Habe den Eindruck, dass alle Methoden, die bei einem Ereignis angestossen werden, keine Rückgabe machen

    Ja, das ist so.

    Ist holePfad eine als Slot markierte Memberfunktion der Button?



  • Slots können auch Werte zurückgeben, aber die musst du dir selber "holen", das geht in einem connect nicht.



  • Hallo,
    ok. Danke. Ich werde einen anderen Weg suchen.



  • Wieso ruft die slot Funktion nicht weiteres auf?

    Wie hattest du dir das überhaupt vorgestellt? Wo soll der String denn ankommen?
    Du kannst entweder "holePfad" umbennen und von da aus alles anstoßen,
    oder in holePfad wird ein Member gesetzt der den Pfad enthält.