user-interfacelayoutqt4qt-designerqstackedwidget

Why can't I set a layout for a page in a QStackedWidget in Qt Designer?


Steps to reproduce in Designer for Qt 4.8.0:

When I click one of the layout buttons above, it doesn't change the layout of the page QWidget; it changes the layout of the dialog, even though I had explicitly selected the page.

Is this a bug in Qt Designer? Am I missing something? I really don't want to add the layouts programatically, as that prevents me from being able to layout the pages in Qt Designer in the same .ui file


Solution

  • Clicking a widget page in the object tree brings that page to the top of the stack, but it does not select it.

    In fact, it is not possible to select a widget page itself - only its child widgets can be selected (as well as, of course, the parent stacked-widget).

    The easiest way to set a layout for a widget page is to:

    1. bring it to the top by clicking the little arrows on the top-right corner of its parent stacked-widget
    2. set the appropriate layout using the buttons on the toolbar

    Note that it is not possible to set a layout on a widget that does not have any child widgets.

    (If there is a bug here, it is that the toolbar buttons should really be greyed-out when clicking on a widget page in the object tree that has no child widgets. When the stacked-widget arrows are used, the toolbar buttons are greyed-out correctly).