[SOLVED]How to remove a layout from a QWidget?
-
Hello.. I am trying to remove a layout from a qwidget and set a new layout... Tried with
@widget->layout()->deleteLater();@and with
@delete widget->layout();@
but none of them worked.
Thank you in advance.
Qt 4.8.4 MSVC2008
L.E. I did not copy and paste the code... I wrote it here in a hurry that is why I didn't have the layout()... In the code it is with ()... My mistake
-
Delete all widgets and child layouts owned by the layout before deleting it.
-
hmm well... I cannot do that... Because I need most of the items inside that layout... It basically changes 3 widgets... I'm thinking of trying with QStackedLayout but i would like to know if there is another way of doing this...
-
[quote author="b1gsnak3" date="1357636052"]
@widget->layout->deleteLater();@
[/quote]I believe you need to call the layout() function using parentheses:widget->layout () ->deleteLater();
-
Ok this is starting to get annoying... I used a qstackedlayout, however it gives me a layout only for the last item in the stack... I do not know why... Is it because I use the same objects in each widget?
-
[quote author="b1gsnak3" date="1357657479"]Is it because I use the same objects in each widget?[/quote]You can't share a widget between different layouts/widgets. If you add a widget to one layout, then add it to another layout, it will be removed from the first layout.
So, to expand on leon.anavi's answer: Try moving your widgets to a new layout, delete the old layout, then apply the new layout to the parent widget.