Ich bin prinzipiell wohl Anfänger, was Qt und C++ angeht.
Ich habe ein Programm geschrieben, das mir auf der ersten Seite ein Menü mit mehreren Buttons darstellt. Die Buttons sollen mit einem eigenen Slot verknüpft werden, dann soll der bisherige Bildschirm gelöscht und ein neuer angezeigt werden.
Die erste Seite ist eine QVBox. Nach Aufruf des Slots (der übrigens funktioniert), lösche ich diese QVBox mit delete. Auch das geht, der Fensterinhalt wird gelöscht. Dann versuche ich eine neue QVBox anzulegen, um darin wieder andere Inhalte auszugeben. Aber das funktioniert nicht mehr, obwohl das im Konstruktor schonmal genauso mit Erfolg gemacht wurde.
So wird mein Slot erfolgreich aufgerufen:
Code: Alles auswählen
QObject::connect(pBoxLogo, SIGNAL(clicked()), this, SLOT(createEditPage()));Code: Alles auswählen
void Editor::createEditPage()
{
delete pMainPage;
pEditPage=new QVBox(this);
QLabel *pText = new QLabel(pEditPage);
pText->setText("Dieser Text wird nicht angezeigt.");
pText->setFont(QFont("URW Chancery L", 30, QFont::Bold));
pText->setAlignment(AlignHCenter | AlignVCenter);
}Bei nicht-OO Programmiersprachen löscht man ja einfach den Bildschirm und schreibt aufs neue los. Oder ist es üblich, für die nächste Bildschirmseite ein eigenes Objekt anzulegen?
Über Hilfe würde ich mich freuen!
-Efchen