String von einer Klasse in eine andere Klasse übergeben



  • Ich habe mit QT einen FileDialog der mir den Pfad eines Ordners als string ausgibt (directoryName). Diesen String brauche ich in einer anderen Klasse.
    Ich denke dass dies eine essentielle C++ Frage ist die ich leider noch nicht beantworten kann... mist

    void Main::open()
    {
    QString directoryName = QFileDialog::getExistingDirectory(this, tr("Please choose  Datafolder"), currentDataDirectory);
    
    	if(!directoryName.isEmpty())
    	openDirectory(directoryName);
    
    std::cout << "Current Directory: " << directoryName.toStdString() << std::endl;
    }
    


  • Hallo

    Dann übergib dieser Klasse doch den String. Als Parameter einer Methode oder über ein Attribut der Klasse.

    bis bald
    akari



  • akari schrieb:

    Hallo

    Dann übergib dieser Klasse doch den String. Als Parameter einer Methode oder über ein Attribut der Klasse.

    bis bald
    akari

    Die oben zusehende Funktion diente als SLOT für einen QT-PushButton.
    Wenn ich jetzt Parameter übergebe mag mein Button nicht mehr...

    Ich übergebe open(const QString directoryName)



  • Hallo

    Das liegt daran weil der Button für seine Eventmethode einen festen Prototyp erwartet wo du nicht einfach einen Parameter zusätzlich einfügen kannst.
    Du must da eben der Klasse Main noch eine Membervariable mitgeben die von der open-Funktion ausgelesen wird. Das sollte kein Problem sein wenn du die notwendigen Grundkenntnisse von OOP hast.

    bis bald
    akari



  • Stichwort getter und setter


Anmelden zum Antworten