Qt: автоматическое добавление полосы прокрутки в QGroupbox

Я хочу автоматически добавить полосу прокрутки к групповому блоку меток при изменении размера диалогового окна, имеющего этот групповой блок (сделать его меньше), чтобы сохранить то же представление содержимого группового блока и просматривать его путем прокрутки, когда этот диалог маленький.

QGroupBox* GroupBox = new QGroupBox;
QVBoxLayout *Layout = new QVBoxLayout;   
Layout->addWidget(Label1);
Layout->addWidget(Label2);
Layout->addWidget(Label3);
Layout->addWidget(Label4);
GroupBox ->setLayout(Layout);

Я пробовал следующее, но это не работает.

QScrollArea* scrollArea = new QScrollArea(this);
scrollArea->setWidget(GroupBox);

2 ответа

Решение

Я хочу поделиться ответом на мой вопрос, который я нашел: ответ состоит в том, чтобы добавить 2 групповых блока с 2 макетами и добавить прокрутку в качестве виджета ко второму макету. Код будет:

QGroupBox* GroupBoxIn = new QGroupBox;
QVBoxLayout *LayoutIn = new QVBoxLayout;  
QGroupBox *GroupBoxOut = new QGroupBox;   
QVBoxLayout *LayoutOut = new QVBoxLayout;  
QScrollArea* scrollArea = new QScrollArea();

LayoutIn ->addWidget(Label1);
LayoutIn ->addWidget(Label2);
LayoutIn ->addWidget(Label3);
LayoutIn ->addWidget(Label4);

GroupBoxIn ->setLayout(LayoutIn ); 
scrollArea->setWidget(GroupBoxIn );  
scrollArea->setWidgetResizable( true );  
LayoutOut ->addWidget(scrollArea);      
GroupBoxOut ->setLayout(LayoutOut ); 

Я думаю, что "scrollArea->setWidgetResizable( true);" сделал трюк, а не двойной групповой ящик

Другие вопросы по тегам