Мой вопрос прост: как я могу установить 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, остальные скрыты, потому что они находятся внизу, вне определенной зоны.
Любая идея ? Спасибо.
Вы должны:
QVBoxLayout
)viewport()
виджет в области прокрутки (QVBoxLayout
)Таким образом, вам не нужно будет вызывать setGeometry для каждой метки.
Вам нужно установить виджет на область прокрутки и добавить свои картинки в макет виджета. Проверьте QScrollArea :: setWidget (QWidget * widget)
Я почти уверен, что вы не можете добавить прокрутку в виджет вкладок, но моя идея состоит в том, чтобы просто попытаться сделать больше вкладок, которые можно показать, и посмотреть, появляется ли ползунок по умолчанию.