qtqt-designerqlayoutqboxlayout

Controls insist on being too large and won't resize in Qt Designer


I made a "widget" in Qt Designer with about a dozen controls organized into horizontal and vertical layouts.

Oddly, every horizontal layout wants to be some large size, about 400 px wide, when the whole form is set to be 275px wide. Buttons, etc, contained within, are too wide for the form.

When I resize the widget form vertically or horizontally (sometimes with the max width turned off), the various layouts won't resize. Manually setting widths (or min widths, or max widths) may affect the sizes of the controls, but not their spacing within the layout. Spacers, inserted to keep some controls at the top and some others at the bottom with a flexible space between, just don't work at all.

What (probably) obvious thing am I overlooking?


Solution

  • If I understood well what you are saying, the contents of the form are not "connected", i.e., not resizing and not restricted by the form size, right? I think you have missed setting a "centralWidget layout". Try the following:

    1. Open your form by double-clicking it in Qt Creator (I don't use the Qt Designer frequently, but I think the editor layout is almost the same on both tools).

    2. Go to the top-right window (the one having 2 columns "Object-Class") and Right-Click with your mouse at the root object (e.g., MainWindow).

    3. A context menu will appear. Click on "Lay out" (last menu item) and select "Layout Vertically" or "Layout Horizontally".

    enter image description here

    These actions will create a layout on the centralWidget object. If you select the "centralWidget" in the "Object-Class" window you can then view & change the layout properties in the (bottom-right) Property-Value window; they are the last properties in list.

    More important, after you add a layout in your centralWidget, the contents of your form should be resizing along & limited by your form's size.