为QScrollArea预留空间
Reserving Space for QScrollArea
本文关键字:空间 QScrollArea 更新时间:2023-10-16
我正在使用带有自定义QWidget的QScrollArea。我面临的问题是,每当滚动条出现时,都会导致小部件中元素的移动。所以,我想保留一些空间,这样当滚动条出现或消失时,小部件就不会受到影响。我怎样才能做到这一点?
scrollArea->setWidgetResizable(false);
我遇到了这个问题,并刚刚解决了它(可能还没有完全解决)。
我为滚动小部件和QScrollArea设置了固定的宽度,并将QScrollAreaHorizontalSizePolicy设置为固定,并隐藏HorizontalScrollBar。样本代码
QWidget *pWidget = new QWidget(this);
pWidget->setFixedWidth(500);
pWidget->setLayout(...)
QScrollArea *pScrollArea = new QScrollArea();
// Same with widget
pScrollArea->setFixedWidth(500);
pScrollArea->setWidget(pWidget);
pScrollArea->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
// Needed.
pScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
我还发现了一个Bugreport:QTBUG-2347QScrollArea:一个新的滚动策略,为滚动条保留空间,并且它是关闭的。但我不知道这个错误是否已经修复,解决方案是什么。
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 在命名空间中定义函数还是限定函数
- C++:对不存在的命名空间使用命名空间指令
- 通过继承类使用来自不同命名空间的运算符
- 使用命名空间时出现多个定义错误
- OpenGL相机和相机空间转型的困惑
- CUDA内核和数学函数的显式命名空间
- 打印第二列时的2d字符矢量打印空间
- 嵌套的匿名命名空间
- CMakeLists.txt中的命名空间表示法
- QScrollArea:由垂直滚动条引起的水平滚动条
- 类是C++中的命名空间吗
- 在命名空间中使用全局命名空间中的函数
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 为什么 openmp 的并行不适用于矢量化色彩空间转换?
- 为QScrollArea预留空间