c++ - QTabWidget 中的 QScrollBar + QScrollAera

标签 c++ qt qscrollarea

我的问题很简单:如何在我的 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 行可见,其他是隐藏的,因为它们位于底部,在定义区域之外。

有什么想法吗?谢谢。

最佳答案

你必须:

  • 向您的页面添加布局(QVBoxLayout)
  • 将滚动区域添加到该页面布局
  • 向滚动区域的viewport() 小部件添加布局(QVBoxLayout)
  • 将您的 QLabel 添加到该视口(viewport)布局

这样你就不需要在每个标签上调用 setGeometry

关于c++ - QTabWidget 中的 QScrollBar + QScrollAera,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15938777/

相关文章:

python - pyQt : Scolling QScrollArea Not Each QTextEdit Individually

c++ - 多态性 : Compliation Error in the code. 需要解释

c++ - 在 lambda 中传递参数时无法调用指向成员的指针

c++ - "Undefined reference to"- C++/Qt 中的错误/静态成员变量

qt - 如何从 qrc 文件中获取所有图像?

c++ - 在 Qt 中禁用的小部件上阻止信号

c++ - QScroller 和 QScrollBar 之间的 qt 冲突

python - 如何将 GroupBox 放入 GridLayout 中? PyQt4

c++ - 是否允许在C++中实例化一个没有指定变量名的类

c++ - 尼姆 FFI : Using existing type to wrap a C++ type