SpacerItem in einem QWidget fehlt als Children
Verfasst: 22. Juni 2011 19:37
Hi,
ich habe folgendes Problem:
ich habe im QT Designer ein Widget(MasterWidget) zusammenbastelt(das Widget hat ein QVBoxLayout als Layoutmanager und beinhaltet ein Vertical Spacer).
Nun füge ich Programmatisch andere Widgets ein und wollte mir alle Childs meines Widget anzeigen lassen.
Dazu habe ich folgenden Code Verwendet:
Kurze Erklärung zum Code ich iteriere über alle child pointers des Masterwidgets und lasse mir die classname ausgeben.
Da erhalte ich alle Childs aber keine SpacerItem angezeigt. Laut Doku ist aber SpacerItem von QObject abgeleitet. Kann mir jemand sagen
a) warum werden die nicht angezeigt
b) wie kann ich alle Childs (inkl. Spacer) in der Reihenfolge anzeigen lassen wie die eingehängt worden sind.
Danke für die Hilfe
ich habe folgendes Problem:
ich habe im QT Designer ein Widget(MasterWidget) zusammenbastelt(das Widget hat ein QVBoxLayout als Layoutmanager und beinhaltet ein Vertical Spacer).
Nun füge ich Programmatisch andere Widgets ein und wollte mir alle Childs meines Widget anzeigen lassen.
Dazu habe ich folgenden Code Verwendet:
Kurze Erklärung zum Code ich iteriere über alle child pointers des Masterwidgets und lasse mir die classname ausgeben.
Code: Alles auswählen
QObject *curObj;
QList<QObject*> Childrens=m_pUi->scrollAreaWidgetContents->children(); //Hole eine Liste mit allen QObject* aus den Master Widget
QList<QObject*>::iterator i;
log(true,QString("Start Logging\n"));
for(i=Childrens.begin();i!=Childrens.end();i++)
{
curObj=qobject_cast<QObject*>(*i);
if(curObj)
{
log(true,QString(curObj->metaObject()->className()));
}
}
a) warum werden die nicht angezeigt
b) wie kann ich alle Childs (inkl. Spacer) in der Reihenfolge anzeigen lassen wie die eingehängt worden sind.
Danke für die Hilfe