danke erstmal für die hilfe. aber wie gesagt, möchte gern auf den designer verzichten.
habe das problem wie folgt gelöst.
habe ein container widget in dem ich verschiede widgets je nach dem auf show setze. wegen objektorientierung habe ich noch ein zweites container widget erstellt.
in ihm werden wiederum widgets auf aktiv/show gesetzt.
was leider noch nicht geht ist, wenn ich mich im 2. container widget(Main_Bit) befinde ( Widget_BitMenue ist aktiv) und ich den BACK botton von BitMenue clicke sprint es leider nicht in mein erstes container widget.

aber das wird schon
hier der code, vielleicht hilft es mal jemanden
#ifndef WIDGET_MAIN_H
#define WIDGET_MAIN_H
#include <QtCore/QVariant>
.....
class Widget_Navi;
class Widget_Main_Bit;
class Widget_Karte;
class Widget_Start;
class Widget_Auswahl;
class Widget_Main : public QWidget
{
Q_OBJECT
public:
Widget_Main( QWidget *parent = 0);
private:
Widget_Navi* nav;
Widget_Main_Bit* bitmain;
Widget_Karte* map;
Widget_Auswahl* auswahl;
Widget_Start* entry;
QWidget* activeWidget;
QWidget* widgets[5];
public slots:
void ChangeMode(int mode);
};
#endif
//Widget_Main.cpp
#include "Widget_Main.h"
#include "Widget_Start.h"
#include "Widget_Auswahl.h"
...
Widget_Main::Widget_Main( QWidget *parent)
: QWidget (parent)
{
setObjectName(QString::fromUtf8("Widget_Main"));
resize(1024, 777);
setMinimumSize(QSize(1024, 777));
setMaximumSize(QSize(1024, 777));
setBaseSize(QSize(1024, 777));
entry=new Widget_Start(this);
entry->setVisible(true);
widgets[0]=entry;
auswahl=new Widget_Auswahl(this);
auswahl->setVisible(false);
widgets[1]=auswahl;
....
activeWidget=entry;
}
void Widget_Main::ChangeMode(int mode)
{
if(mode > 4 || mode < 0 ) return;
activeWidget->setVisible(false);
activeWidget=widgets[mode];
activeWidget->setVisible(true);
}
//Widget_Start.cpp
#include "Widget_Start.h"
#include "Widget_Main.h"
#include <QtGui>
Widget_Start::Widget_Start( QWidget *parent)
: QWidget (parent)
{
setObjectName(QString::fromUtf8("Widget_Start"));
resize(1024, 777);
setMinimumSize(QSize(1024, 777));
setMaximumSize(QSize(1024, 777));
setBaseSize(QSize(1024, 777));
QPalette palette;
.......
Button_Start = new QPushButton(this);
Button_Start->setObjectName(QString::fromUtf8("Button_Back"));
Button_Start->setGeometry(QRect(900, 720, 87, 27));
Button_Start->setText("Start");
//Button_Start clicked
connect(Button_Start,SIGNAL(clicked()),this,SLOT(changeAuswahl()));
connect(this,SIGNAL(ChangeMode( int )),(Widget_Main*)parent,SLOT(ChangeMode(int)));
}
void Widget_Start::changeAuswahl()
{
emit ChangeMode(1);
}
//Widget_Start.h
class Widget_Start : public QWidget
{
Q_OBJECT
public:
Widget_Start( QWidget *parent = 0);
QLabel *Label_links;
QLabel *Label_rechts;
QPushButton *Button_Start;
.....
private slots:
void changeAuswahl();
signals:
void ChangeMode(int mode);
};