Я хотел бы заполнить QGridLayout
QWidgets
. QWidgets
должны появляться в порядке сверху-слева до верха и продолжать заполнять вниз вниз после того, как каждая строка заполнена QWidgets
. Примером подобного и знакомого графического интерфейса является то, как Apple сортирует свои приложения на домашнем экране iPhone или iPad. Приложения идут сверху вниз вправо-вверх и идут вниз, после того как каждая строка заполнена.Как заполнить QGridLayout сверху-слева направо?
Прямо сейчас, всякий раз, когда я добавляю элементы, они обрабатывают весь экран и/или не добавляются рядом друг с другом.
Это пример кода, что я делаю
m_gridLayout = new QGridLayout(this);
this->setLayout(m_gridLayout);
m_gridLayout->addWidget(widgetToBeAdded, m_currentRow, m_currentColumn, Qt::AlignLeft);
Я исхожу обновить m_currentColumn и m_currentRow, как ожидалось. После определенного количества столбцов я говорю, чтобы перейти к следующей строке, и ничего не происходит. Я подтвердил с помощью отладки, что он наплевает правильные строки и столбцы.)
В конце концов, мне нужно будет набросить QScrollArea
, чтобы можно было прокручивать вниз по сетке.
Размер каждого QWidget
будет таким же. Если бы я мог получить какую-либо помощь в отношении правильной сортировки сетки, это было бы высоко оценено.
EDIT: Используя приведенный ниже ответ, мне удалось получить мои товары для сортировки в правильном порядке. Однако между всеми элементами в вертикальном направлении имеется большое пространство. Это не устраняется изменением свойства verticalSpacing, как я думал. Кто-нибудь знает, как действовать?