ChatGPT解决这个技术问题 Extra ChatGPT

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

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:

https://i.stack.imgur.com/Tzhvk.jpg

... 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?


e
ekhumoro

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.


Thanks, its really strange that dragging from inside the object inspector is not possible but dropping to is...
That's ridiculous. It took me a day of trying to cut&paste items in the Object Inspector to the correct places, since dragging doesn't work, and getting "Cannot paste widget" errors, finally editing the XML manually... and now I find by chance that this works after all... in the most brainded way possible. Better late than never, I guess. Thanks.
I had the same problem. It is bizarre that this is not an easy thing to do.
Thanks for this tip that has made QtDesigner finally usable to me! I'd file an issue but that has been going on for so long that they probably don't consider fixing it...
L
Lucas Franceschi

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.


D
Dmitry Ivanov

My small trick:

Select layout

Change temporary "layoutTopMargin"

Drop into layout required widgets

Restore layoutTopMargin to default 0


关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now