The following quote is from this link: http://doc.qt.io/qt-5/qwidget.html#setLayout
If there already is a layout manager installed on this widget, QWidget won't let you install another. You must first delete the existing layout manager (returned by layout()) before you can call setLayout() with the new layout.
Question 1: What does it mean when you say is "layout manager is installed on this widget"?
Question 2: This link: http://doc.qt.io/qt-5/layout.html shows that there are various forms of layouts like: Horizontal, Vertical, Form Layouts. Grid layout can alone be used to arrange the widgets in the forms supported by other three layouts. Is there any special use of the other three layouts?