Seite 1 von 1

Referenz auf MdiArea eines Widgets (zur Laufzeit)

Verfasst: 26. April 2010 16:03
von Schnuki
Hallo zusammen,

ich hab folgendes Szenario:

ich muss zur Laufzeit an ein Tab Widget mehrere Tabs erzeugen und diese mit einer Mdi Area belegen:

Code: Alles auswählen

QWidget* newTab = new QWidget( ui.tabWidget );
ui.tabWidget->addTab( newTab, "Tab_neu" );

QMdiArea *mdiArea;

mdiArea = new QMdiArea(newTab);
mdiArea->setObjectName(QString::fromUtf8("mdiArea"));
mdiArea->setGeometry(QRect(0, 0, 831, 471));
klappt wunderbar, jedoch muss ich nun, auch zur Laufzeit, widgets erstellen, die ich auf der MdiArea platzieren muss. Da ich die Tabs und die MdiArea aber zur Laufzeit erzeuge, kann ich nicht ohne weiteres auf die mdiArea zugreifen.

Nun meine Frage:

Kann ich von dem Tab aus irgendwie auf die mdiArea zugreifen? Ist das möglich?

Verfasst: 26. April 2010 17:09
von franzf
Deine dynamisch generierten QMdiArea*'s in einer Liste abspeichern? Oder gleich in eine QMap<QString, QMdiArea*>?

Verfasst: 27. April 2010 08:23
von Schnuki
mmhhh... das wäre eine Möglichkeit, denn ich speichere auch jeden Tab in einer Map ab. Muss mal sehen, wie das funktioniert, aber danke für die Antwort.

Bin selbst nicht draufgekommen :oops:

Verfasst: 29. April 2010 22:51
von upsala
Oder QObject::findChild verwenden.