ich benutze QStackedWidget um verschiedene "Seiten" darzustellen
und erzeuge und lösche Widget ("Seiten") dynamisch.
Nun habe ich in der abgeleiteten Klasse von QStackedwidget also
dort wo die Seiten gelöscht und erstellt werden ein Widget das ich gerne auf jeder Seite darstellen möchte.
In der QStackedWidget Klasse wird das Widget selbst verändert,
deswegene reicht eine Kopie des Widgets nicht.
Ich habe das versucht nun wie folgt zu lösen:
Code: Alles auswählen
Stack::Stack(QWidget *parent)
: QStackedWidget(parent), S_ErrorTimeOut(0)
{
...
S_ErrorWidget = new ErrorWidget(this);
S_Main = new MainScreen(S_ErrorWidget,0);
...
}
Code: Alles auswählen
class Stack : public QStackedWidget
{
Q_OBJECT
public:
Stack(QWidget *parent=0);
~Stack();
protected:
void mousePressEvent(QMouseEvent* event);
private slots:
...
private:
void RemoveWidgets(void);
MainScreen *S_Main;
ErrorWidget *S_ErrorWidget;
...
signals:
private slots:
...
};
Code: Alles auswählen
void Stack::ShowConfig(void)
{
...
RemoveWidgets();
S_Config = new Config(S_ErrorWidget, this);
addWidget(S_Config);
this->setCurrentWidget(S_Config);
...
}
Code: Alles auswählen
class Config : public QWidget, private Ui::Config
{
Q_OBJECT
public:
Config(ErrorWidget *PTR_ErrorWidget, QWidget *parent = 0);
...
private:
ErrorWidget *S_ErrorWidget;
};
Wie kann ich das vermeide oder anders lösen?
Mein erster Ansatz wäre nun den Destrüktor von Config selbst schreiben.
Aber gibt es eine andere bessere Lösung?
danke