Есть QScrollArea. В нее нужно засунуть n-ое количество виджетов так, чтобы все скролилось при нужде. Попробовал туда засунуть layout средствами setLayout(). Виджеты засовываются в него, но не скролится. На сколько я понял, туда должен быть помещен виджет, внутрь которого уже засовывать тот самый layout. Это так или можно сделать это как-то изящнее?
Мое предположение:
QScrollArea scroll = new QScrollArea;
QWidget* widget = new QWidget;
QVBoxLayout* inside = new QVBoxLayout;
widget->setLayout(inside);
scroll->setWidget(widget);
Должно быть что-то вроде этого:
QScrollArea* scroll = new QScrollArea;
QWidget* ScrollAreaWidgetContents = new QWidget(scroll);
QGridLayout* ScrollLayout = new QGridLayout(ScrollAreaWidgetContents);
QWidget* widget = new QWidget;
ScrollLayout ->addWidget(widget);
И первую строчку желательно заменить на
QScrollArea* scroll = new QScrollArea(this);
если, конечно, this указывает на виджет. Предполагаю, что в данном случае у вас this будет QMainWindow. Просто суть в том, что Qt следит за освобождением памяти, но только если у элемента задан родитель
Продвижение своими сайтами как стратегия роста и независимости