Widgets oder Layouts in einem QGridLayout ersetzen
Verfasst: 11. Juli 2006 16:59
Hallo,
ich habe ein QGridLayout, in das ich weitere QGridLayouts einfüge, also verschachtelte QGridLayouts:
Ich möchte nun ein Child-QGridLayout (childGrid1) in meinem Parent-QGridLayout (mainGrid) bei einer bestimmten Aktion (button::clicked()) durch ein neues QGridLayout ersetzen. Also im Prinzip einfach das childGrid1 entfernen und durch exchangeChildGrid3 ersetzen. Wenn ich allerdings removeItem() benutze, um das Grid zu entfernen, wird das Grid selbst zwar entfernt, aber der gesamte Inhalt des Grids (Buttons, Textfelder etc..) bleibt unverändert erhalten. Kann man das verhindern?
Außerdem: wenn ich das Grid entfernt habe (mit removeItem) und danach ein neues QGridLayout an der gleichen Stelle einfügen will (mit addLayout), sagt er mir, dass bereits ein Layout existiert...
Hat jemand eine Idee, wie man das einigermaßen elegant lösen kann?
Tausend Dank schon mal!
Gruß,
gehho
ich habe ein QGridLayout, in das ich weitere QGridLayouts einfüge, also verschachtelte QGridLayouts:
Code: Alles auswählen
QGridLayout *mainGrid = new QGridLayout( this );
QGridLayout *childGrid1 = new QGridLayout( mainGrid );
QGridLayout *childGrid2 = new QGridLayout( mainGrid );
QGridLayout *exchangeChildGrid3 = new QGridLayout( mainGrid );
mainGrid->addLayout( childGrid1, 0, 0 );
mainGrid->addLayout( childGrid2, 1, 0 );Außerdem: wenn ich das Grid entfernt habe (mit removeItem) und danach ein neues QGridLayout an der gleichen Stelle einfügen will (mit addLayout), sagt er mir, dass bereits ein Layout existiert...
Hat jemand eine Idee, wie man das einigermaßen elegant lösen kann?
Tausend Dank schon mal!
Gruß,
gehho