Если все, что вам нужно, это избегать отображения горизонтальных полос прокрутки в QScrollArea, просто вызовите
QScrollArea::setHorizontalScrollBarPolicy()
с Qt :: ScrollBarAlwaysOff. Чтобы получить ширину и высоту ячейки QGridLayout, используйте следующий код:
QSize getLayoutCellSize(QGridLayout *layout, int row, int column)
{
QLayoutItem *item = layout->itemAtPosition(row, column);
if (item)
return (item->sizeHint());
return (QSize());
}
Вы также можете использовать QLayoutItem :: geometry () вместо QLayoutItem :: sizeHint ().