Ich habe eine Frage:Wie verwendet man die Methoden der creating class` aus der erstellten Klasse?
Ich habe eine Klasse User-Interface dass MoveSeries eine Klasse hat. Von MoveSeries möchte ich Zugriff auf die Methoden meiner Benutzerschnittstelle haben. In diesem Beispiel möchte ich Zugriff auf die Methode get_MoveCurve_Delta() von userinterface haben. Wie bekomme ich Zugriff auf die Erstellungsklasse (userinterface) von der erstellten Klasse (MoveSeries? Ich habe den Signal-Slot-Ansatz ausprobiert, aber da ich mehrere Methoden der Benutzerschnittstelle mehrmals benutze, macht das viele Signal-Slots. hier ist
meinen Code.
Userinterface.h:
class UserInterface : public QMainWindow
{
Q_OBJECT
public:
UserInterface(QWidget *parent = 0, Qt::WFlags flags = 0);
~UserInterface();
...
private:
double MoveCurve_Delta;
MoveSeries *MOVE_SERIES ;
public:
void set_MoveCurve_Delta(double val) { MoveCurve_Delta = val;}
double get_MoveCurve_Delta() { return MoveCurve_Delta ;}
}
Userinterface.cpp:
UserInterface::UserInterface(QWidget *parent, Qt::WFlags flags) :
QMainWindow(parent, flags)
{
ui.setupUi(this);
...
MOVE_SERIES = new MoveSeries(this);
}
MoveSeries.h:
class MoveSeries : public QDialog
{
Q_OBJECT
public:
explicit MoveSeries(QWidget *parent = 0);
~MoveSeries();
...
MoveSeries.cpp:
MoveSeries::MoveSeries(QWidget *parent) :
QDialog(parent),ui(new Ui::MoveSeries)
{
ui->setupUi(this);
this->parent = parent;
parent->set-MoveSeries_Delta_Val();
}
danke für deine antwort. Es klappt !!! Darf ich annehmen, dass das Problem, über das Sie sprechen, ist, dass das übergeordnete Element in userinterface * umgewandelt wird und wenn userinterface * nicht das gleiche Tippfehlerobjekt ist, wird es zu Problemen kommen? – user3443063
Ja, das stimmt. Wenn Sie nachsehen können, wie Sie Ihren Code umstrukturieren, so dass das MoveCurveDelta durch einen Konstruktor übergeben oder von untergeordneten Objekten aktualisiert wird, statt umgekehrt. –