Изменение размера виджета QScrollArea при добавлении дочерних виджетов - PullRequest
0 голосов
/ 30 марта 2012

У меня следующая структура:

QScrollArea
  - QWidget (with QHBoxLayout)
    - QLabel
    - QLabel
    - QLabel
    ...

QLabels генерируются автоматически со случайным текстом.Как автоматически изменить размер виджета, чтобы он соответствовал размерам ярлыков?На данный момент я могу видеть виджет только установив фиксированный размер.

Решение:

После создания QLabel я сохраняю его ширину:

int widthSum = 0;
for ( ... ){
    ...
    widthSum += label->sizeHint().width();
}

И после цикла я установил фиксированную ширину для виджета:

widget->setFixedWidth(widthSum);

Спасибо @shobi за подсказку!

1 Ответ

1 голос
/ 30 марта 2012

используйте метод reSize () для виджета.

resize(sizeHint()) 
...