====== Parent-Objekte im Zusammenhang mit Layouts ====== ===== Parent-Objekte von Layouts ===== Layouts werden direkt auf ihre Elternobjekte angewendet. Dadurch können wir den Aufruf von ''setLayout()'' weglassen. Im ''QGroupBox''-Beispiel haben wir dieses Feature bereits verwendet. Wichtig ist, dass das Elternobjekt bereits ein gültiges Widget ist, damit es nicht zu folgenden Fehlern kommt: #include #include #include int main( int argc, char *argv[] ) { QApplication app( argc, argv ); QWidget *w; QPushButton *button1, *button2; QVBoxLayout *layout; button1 = new QPushButton( "Button 1" ); button2 = new QPushButton( "Button 2" ); layout = new QVBoxLayout( w ); layout->addWidget( button1 ); layout->addWidget( button2 ); w = new QWidget(); w->show(); return app.exec(); } Dieses Programm stürzt natürlich sofort ab, da in der Widget-Variable Speichermüll steht. \\ ===== Parent-Objekte bei der Verwendung von Layouts ===== Layouts geben auch automatisch die Elternschaft über ein eingefügtes Widget an ihr eigenes Parent-Objekt weiter. Deshalb verursacht folgende Zeile, wie wir sie im Beispiel zu ''QGridLayout'' verwendet haben, kein Speicherleck: layout->addWidget( new ... ); Der Speicher des Widgets wird von jenem Widget freigegeben, auf das das Layout angewendet wird.