QScrollBar + QScrollAera в QTabWidget

Мой вопрос прост: как я могу установить QScrollBar в моей QScrollArea. Я проверил много вещей, но ничего не работает … Может быть, проблема установить QScrollArea в QTabWidget? Вот код:

void    GamesWindow::createTabSucces()
{
std::string nameImg;

_succesPage = new QWidget(_tab);
_tab->addTab(_succesPage, "      Succes       ");

scrollArea = new QScrollArea(_succesPage);
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setFixedSize(500,500);
/*  Integration of QScrollBar  */
for (int i = 0; i < 45; i++)
{
nameImg = "img/allAchiv/";
nameImg += intToString(i + 1);
nameImg += ".jpg";
_imgSucc[i] = new QLabel(scrollArea);
_imgSucc[i]->setPixmap(QPixmap(QString(nameImg.c_str())));
_imgSucc[i]->setGeometry((14 + (85 * (i % 5))), 46 + ((i / 5) * 85), 60, 60);
}
}

Фактически, я добавляю изображения во вкладку, где создается QScrollArea (например, 8-9 строк изображений), но видны только 5, остальные скрыты, потому что они находятся внизу, вне определенной зоны.

Любая идея ? Спасибо.

0

Решение

Вы должны:

  • добавить макет на свою страницу (QVBoxLayout)
  • добавить область прокрутки к этому макету страницы
  • добавить макет к viewport() виджет в области прокрутки (QVBoxLayout)
  • добавьте ваши QLabels к этому макету окна просмотра

Таким образом, вам не нужно будет вызывать setGeometry для каждой метки.

1

Другие решения

Вам нужно установить виджет на область прокрутки и добавить свои картинки в макет виджета. Проверьте QScrollArea :: setWidget (QWidget * widget)

1

Я почти уверен, что вы не можете добавить прокрутку в виджет вкладок, но моя идея состоит в том, чтобы просто попытаться сделать больше вкладок, которые можно показать, и посмотреть, появляется ли ползунок по умолчанию.

0
По вопросам рекламы [email protected]