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... mistvoid 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
akariDie 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