Ich habe was gelernt, das gestellte Ziel ist erreicht.
So habe ich das nun umgesetzt:
form1.h
Code: Alles auswählen
namespace Ui
{
class Form1;
}
class Form2; <-- forward-deklaration
class Form1 : public QMainWindow
{
Q_OBJECT
public:
Form1(QWidget *parent = 0);
~Form1();
Form2 *form2; <-- Instanz der Form2-Klasse
QString setVar(); <-- public setter-methode
private:
Ui::Form1 *ui;
QString var1;
private slots:
};
form1.cpp
Code: Alles auswählen
QString Form1::setVar()
{
QString var1= "dies_ist_ein_test";
return var1;
}
form2.h
Code: Alles auswählen
#include "form1.h"
namespace Ui
{
class Form2;
}
class Form1; <-- forward-deklaration
class Form2 : public QDialog
{
Q_OBJECT
public:
Form2(QWidget *parent = 0);
~Form2();
Form1 *form1; <-- Instanz der Form1-Klasse
protected:
void changeEvent(QEvent *e);
private:
Ui::Form2 *m_ui;
};
form2.cpp
Somit kann ich in Form2 auf var1 aus Form1 zugreifen.
Kann ich daran noch etwas verbessern (die verwendeten Namen sind nur für diesen Test-Case, ich verwende ansonsten sprechende Klassen- und Variablenbezeichnungen)?
Und des Weiteren kommt mit dem Erfolg kommt die Gier... wie stelle ich es am besten an, wenn ich mit diesem Verfahren mehrere Variablen übergeben möchte? Evtl. mit einem String-Array?