Layouts wechseln
Verfasst: 18. Oktober 2011 11:35
Hallo ich versuche nun schon seid längere Zeit folgendes Beispiel hinzubekommen.
leider macht es nicht was ich will
zur 2ten Seite geht er noch, überschreibt aber das label_s1, aber geht dann auch nicht wieder zurück auf Seite 1. Das "seite_1_layout" ist wohl schon hinzugefügt. Jedoch gibt es keinerlei Befehle wie hide() und show() wie bei den anderen.
Hat jemand eine Idee wie ich das lösen könnte? Vielen Dank
Code: Alles auswählen
#include "Testapp.h"
Testapp::Testapp(QWidget *parent)
:QWidget(parent)
{
mainlayout = new QHBoxLayout(this);
seite_1_Layout = new QVBoxLayout();
seite_2_Layout = new QVBoxLayout();
button_s1 = new QPushButton();
button_s2 = new QPushButton();
button_s1->setText("zu Seite 2");
button_s2->setText("zu Seite 1");
label_s1=new QLabel("Test auf Seite 1");
label_s2=new QLabel("Test auf Seite 2");
seite_1_Layout->addWidget(button_s1);
seite_1_Layout->addWidget(label_s1);
seite_2_Layout->addWidget(button_s2);
seite_2_Layout->addWidget(label_s2);
QObject::connect(button_s1,SIGNAL(clicked()),this,SLOT(b1_clicked()));
QObject::connect(button_s2,SIGNAL(clicked()),this,SLOT(b2_clicked()));
mainlayout->addLayout(seite_1_Layout,0);
}
Testapp::~Testapp()
{
// TODO Auto-generated destructor stub
}
//von Seite 2 auf Seite 1
void Testapp::b2_clicked()
{
QLayoutItem *child;
while ((child = mainlayout->takeAt(0)) != 0) {
delete child;
}
mainlayout->addLayout(seite_1_Layout,0);
}
//von Seite 1 auf Seite 2
void Testapp::b1_clicked()
{
QLayoutItem *child;
while ((child = mainlayout->takeAt(0)) != 0) {
delete child;
}
mainlayout->addLayout(seite_2_Layout,0);
}Hat jemand eine Idee wie ich das lösen könnte? Vielen Dank