Я искал помощь по этой проблеме, которую пытаюсь решить, и пока не нашел ее. Я пытаюсь динамически создать список списков фотографий. У меня есть решение (95% уверено, что оно неоптимально), но компоновка с размером объекта вызывает у меня проблемы.
Мой код:
QVBoxLayout* vLayout = new QVBoxLayout(this);
QGroupBox* groupBox = new QGroupBox();
QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom, this);
QListWidget* listWid;
QScrollArea* scrollArea = new QScrollArea(this);
for(QStringList list: DuplicateList)
{
listWid = new QListWidget();
listWid->setViewMode(QListView::IconMode);
listWid->setIconSize(QSize(250,250));
listWid->setResizeMode(QListView::Adjust);
listWid->setFlow(QListWidget::LeftToRight);
listWid->setLayoutMode(QListView::Batched);
listWid->setWrapping(false);
for(QString path: list)
{
listWid->addItem(new QListWidgetItem(QIcon(path),path));
}
vLayout->addWidget(listWid);
}
groupBox->setLayout(vLayout);
groupBox->setGeometry(QRect(10, 10, 958, vLayout->sizeHint().height()+10));
scrollArea->setWidget(groupBox);
layout->addWidget(scrollArea);
this->setLayout(layout);
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
this->resize(1000,600);
Производит это: enter описание изображения здесь
Когда список превышает то, что может быть отображено в окне, добавляется полоса прокрутки, отлично. Что не сделано, так это когда я получаю размер для правильной установки геометрии группового блока. Также есть ли способ устранить магию c 958 в этом вызове setGeometry?