Виджет QScrollArea не расширяется с помощью Flowlayout

У меня есть интерфейс с QScrollArea Widget. QScrollArea использует FlowLayout. Моя проблема в том, что когда я добавляю виджеты в свой макет, область прокрутки начинает прокручиваться и не расширяется, когда в ней есть место для расширения. Я хочу, чтобы область прокрутки расширилась до своего предела, прежде чем полоса прокрутки появится первой.

Как заставить область прокрутки расширяться до появления полосы прокрутки?

4

Решение

вы можете попробовать сделать setWidgetResizable (true) для вашего QScrollArea

ScrollArea-> setWidgetResizable (истина);

4

Другие решения

Пара предложений:

  1. Убедитесь, что политика размера самой области прокрутки расширяется.
  2. Установите для значений «растяжения» политики размера области прокрутки значение, превышающее значение других виджетов в том же макете. То есть:

    QSizePolicy policy = pScrollArea->sizePolicy()
    
    policy.setVerticalStretch(1);
    policy.setHorizontalStretch(1);
    

    Это предполагает, что у братьев и сестер области прокрутки (если есть) есть значение растяжения 0 (по умолчанию).

  3. Подкласс области прокрутки и переопределить sizeHint() метод.

0

По вопросам рекламы [email protected]