Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-91451

Wrong sizeHint for layout containing a word-wrapped label

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P2: Important
    • Resolution: Unresolved
    • Affects Version/s: 5.12.6, 5.15.0, 6.0.1
    • Fix Version/s: None
    • Component/s: Widgets: Layout
    • Labels:
      None
    • Platform/s:
      All

      Description

      When adding a word-wrapped label in a layout, the sizeHint is wrong. In attachment a minimal example is provided. Next to that a screenshot is provided of how it looks on Qt 6.0.1 in combination with macOS 10.15.

      The way a label is word wrapped depends on the font, fontSize, ... So to reproduce this issue on another platform it might be necessary to make the text of the label a bit longer or shorter. It's easiest to reproduce if it's just too long to fit on 2 lines (so only a few characters have to go on a 3rd line)

      I debugged the problem a bit and it looks strange to me that inside QLayout::totalSizeHint(), the heightForWidth is asked for a width that includes the margins of the parentWidget while the layout can not use these margins to place the label.

      Changing

       s.setHeight(heightForWidth(s.width() + side));

      into

       s.setHeight(heightForWidth(s.width()));

      seems to fix the problem for me.

        Attachments

        1. Qt 6.0.1.png
          Qt 6.0.1.png
          37 kB
        2. WordWrap.zip
          3 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            qt.team.quick.subscriptions Qt Quick and Widgets Team
            Reporter:
            dbutijn David Butijn
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes