我的问题很简单:如何在QScrollArea中设置QScrollBar。我测试了很多东西,但都不起作用。也许在QTabWidget中设置QScrollArea有问题?代码如下:
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行可见,其他的都是隐藏的,因为它们位于底部,超出了定义的区域。
有什么想法吗?谢谢。
发布于 2013-04-11 09:18:52
您必须:
将布局添加到页面并将滚动区域添加到该页面布局
QVBoxLayout)
viewport()小部件中的视口布局这样您就不需要在每个标签上调用setGeometry
发布于 2013-04-11 14:30:59
您需要在滚动区域中设置一个小部件,并将图片添加到小部件的布局中。检查QScrollArea::setWidget(QWidget *widget)
发布于 2013-04-11 08:35:00
我几乎可以肯定,您不能添加滚动到选项卡小部件,但我的想法只是尝试制作更多的选项卡,可以显示,看看滑块是否默认出现。
https://stackoverflow.com/questions/15938777
复制相似问题