Mein Problem: Ich habe in QT zwei topLevelWindows also 2 verschiedene Klassen. Also keines ist ein child des Anderen.
In der einen will ich dem QString Dateiname einen Wert zuweisen.
In der anderen will ich dann auf diesen Dateinamen zugreifen.
Mein Grundprinzip also (soweit ich es verstanden habe):
Fenster/Klasse 1: 1. Deklarieren einer Variable Dateiname als QString und static
Da Du wahrscheinlich ohnehin eine Instanz des Fensters erzeugen wirst, ist es eigentlich unsinnig, die Variable static zu deklarieren. Das macht nur Sinn, wenn man eine von Instanzen unabhaengige Variable braucht oder wenn mehrere Instanzen eine Variable gemeinsam benutzen wollen.
2. Dieser Variable einen Wert zuweisen
Fenster/Klasse 2: 3. EIn Objekt der Klasse 1 erstellen 4. Auf die Variable Dateiname mit dem Wert aus Klasse 1 zugreifen: (Klasse1.Dateiname)
Ich Hab nie etwas mit QT gemacht, aber hier eine allgemeine Loesung mit einer nicht-statischen Variablen und sinngemaessen Funktionsnamen: class Klasse1 { public: QString dateiname; Klasse1() { } void zeigeDialog() { // hier bekommt dateiname seinen Wert } }; class Klasse2 { Klasse1 dateiAuswahlDialog; public: Klasse2() { } void waehleDatei() { dateiAuswahlDialog.zeigeDialog(); QString datei = dateiAuswahlDialog.dateiname; } }; int main() { Klasse2 k2; } Das wuerden allerdings die meisten (mich inklusive) als unsaubere Datenkapselung bezeichnen. Sauber waere, Du wuerdest in Klasse1 die Variable private deklarieren und dafuer eine oeffentliche Funktion wie holeDateiName() zur Verfuegung stellen. Bye -- | Bodo Kaelberer | http://www.webkind.de/ | http://www.mehr-demokratie-wagen.de/ ---- | Haben oder Nichts sein