Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct

    Unsolved QLayout is wasting space

    General and Desktop
    qlayout qwidget
    3
    7
    1554
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Ralf last edited by Ralf

      I add Qwidgets dynamically

      for(int i = 0; i < value; i++)
      {
      QList<QWidget*> widgetList_i;
      //... widgetList_i.append(a lot of widgets)
      ui->verticalLayout->addWidget(widget_i);
      }

      during runtime to my app. As you can see here there is a lot of space wasted between those QWidgets. I am able to drag the border between the two dockWidgets and compress the lower layout like here

      But I do not want to do that manually. How can I start a layout already compressed?

      EDIT: In short, I expect two things:

      1. Start that lower dockWidget/layout compressed, with no space wasting.
      2. After starting is should be possible to increase its size
      1 Reply Last reply Reply Quote 0
      • mrjj
        mrjj Lifetime Qt Champion last edited by

        @Ralf said:
        try set widgets_i maximumheight to say 32 (for each)

        1 Reply Last reply Reply Quote 0
        • SGaist
          SGaist Lifetime Qt Champion last edited by

          Hi,

          Your widgets are currently evenly spaced inside your layout. What you can do is add ui->verticalLayout->addStretch(1); after your loop. That will create a stretchable space that should push your widgets up as much as possible.

          Hope it helps

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          R 1 Reply Last reply Reply Quote 1
          • R
            Ralf last edited by Ralf

            @mrjj nice approach, but then I have wasted space again, see red area

            1 Reply Last reply Reply Quote 0
            • R
              Ralf @SGaist last edited by

              @SGaist added! The beginning of that layout is nice. The end again space waisted

              1 Reply Last reply Reply Quote 0
              • SGaist
                SGaist Lifetime Qt Champion last edited by

                Are you expecting the layout contained in your "dock" widget to resize the widget itself ?

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply Reply Quote 0
                • R
                  Ralf last edited by

                  I added
                  ui->verticalLayout->parentWidget()->setSizePolicy(QSizePolicy::Policy::Preferred, QSizePolicy::Policy::Maximum);
                  which organized the containing widgets perfectly.
                  But that opened another problem, No I can not resize (move border between dockwidgets) between the Dockwidgets..

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post