Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

stretching and anchoring of a widget



  • In my centralWidget I want to have a widget that is anchored to the top left and is stretching along with the main window (/centralWidget).

    I can't seem to find how to do that inside the QT Creator design view.
    Do I have to do that programmatically?

    (using QT Creator 3.4.3 with QT 5.5.0 under linux)

    Thanks.



  • Hi,

    usually you can do this using layouts.
    Can you post a sketch of what you want achieve??



  • The thing is that in the Qt Creator design view there's no way to set anchors or stretching with the layout, as far as I managed to find.

    Here's an image of what I want to have:
    scatch

    The green part is the widget, as you can see even when the window get bigger the widget still fills the width of the parent.

    I hope that makes it clear.
    Thanks.



  • The green widget should be set to preferred (expand width) and fixed (fixed height) with minimum/maximum values.

    Have you tried

    // after ui setup
    ui->centralWidget->layout()->setAlignment(Qt::AlignTop);
    

    on your centralWidget's Layout? More on flags, here.

    I hope that helps



  • The problem is that the green widget isn't resizing when the window is and so its width stays fixed, even though the sizePolicy for it is:

    • horizontal policy: preferred
    • vertical policy: fixed
    • horizontal stretch: 1
    • vertical stretch: 0

    I haven't used the Qt::AlignTop as the widget stays aligned to top as it is, that's not an issue, only the width is the problem.
    I just want it to fill the parent.

    Thanks.



  • Hi,

    I suggest to use Expanding as Horizontal Policy



  • @mcosta that seems to have no effect on things.
    the same result as before.


Log in to reply