Я хотел бы заполнить QGridLayout
с помощью QWidgets
. QWidgets
должны отображаться в порядке от верхнего левого до верхнего правого и продолжать заполнять вниз после заполнения каждой строки QWidgets
. Примером похожего и знакомого графического интерфейса является то, как Apple сортирует свои приложения на главном экране iPhone или iPad. Приложения идут сверху слева направо и продолжают опускаться после заполнения каждой строки.
Прямо сейчас, когда я добавляю элементы, они занимают весь экран и/или не добавляются рядом друг с другом.
Это пример кода того, что я делаю.
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
будет одинаковым. Если бы я мог получить какую-либо помощь в отношении правильной сортировки сетки, я был бы очень признателен.
РЕДАКТИРОВАТЬ: Используя приведенный ниже ответ, мне удалось отсортировать мои элементы в правильном порядке. Однако между всеми элементами в вертикальном направлении имеется большое пространство. Это не устраняется изменением свойства verticalSpacing, как я думаю. Кто-нибудь знает, как действовать дальше?