Qt designer: How to add widget to a layout in the designer when the layout appears infinitely thin?

QtUser InterfaceLayoutDrag and-DropQt Designer

Qt Problem Overview


I am using Qt Designer, and I would like to move a couple of top-level widgets into a horizontal layout.

I have dragged a "Horizontal Layout" object into the form. I am now attempting to drag the desired widgets into the layout.

Unfortunately, the new Horizontal Layout widget is infinitely thin:

Infinitely Thin Layout

... and I cannot drag my "Import Progress" label widget or my progress bar widget into the new horizontal layout widget.

Note that when I attempt to drag the desired widgets over the new horizontal layout widget, Qt Designer does not do anything useful for me in terms of expanding the drop region to make the horizontal widget available as a drop target. So I'm stuck.

How do I add widgets to an infinitely-thin layout widget in Qt Designer?

Qt Solutions


Solution 1 - Qt

Select the layout, and then drop the widget onto the corresponding selected item in the Object Inspector pane. If you find it tricky to select the layout on the actual form, you can also select it via the Object Inspector pane.

Solution 2 - Qt

One way (that I usually do as a workaround for not having to show the structure panel) is to select the layout, setting the top or bottom margins to any value (10, whatever) and then dragging the component into the layout. Yeah, that is just for the pure pleasure of dropping the component in the layout, i know, but is a way.

Solution 3 - Qt

My small trick:

  • Select layout
  • Change temporary "layoutTopMargin"
  • Drop into layout required widgets
  • Restore layoutTopMargin to default 0

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDan NissenbaumView Question on Stackoverflow
Solution 1 - QtekhumoroView Answer on Stackoverflow
Solution 2 - QtLucas FranceschiView Answer on Stackoverflow
Solution 3 - QtDmitry IvanovView Answer on Stackoverflow