3

我正在使用带有自定义 QWidget 的 QScrollArea。我面临的问题是,每当出现滚动条时,都会导致小部件中的元素发生变化。所以,我想保留一些空间,所以当滚动条出现或消失时,小部件不受影响。我怎样才能做到这一点?

4

2 回答 2

1
scrollArea->setWidgetResizable(false);
于 2013-08-30T15:56:43.903 回答
0

我遇到了这个问题并且刚刚解决了它(可能不完全)。

我为滚动小部件和 QScrollArea 设置了固定宽度,并设置了 QScrollArea Horizo​​ntal SizePolicy 固定,并隐藏了 Horizo​​ntalScrollBar。示例代码

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);

我还发现了一个错误报告:QTBUG-2347 QScrollArea: a new scroll policy that reserved space for the scroll bar,它被关闭了。但我不知道这个错误是否已修复以及解决方案是什么。

于 2016-05-13T08:37:39.870 回答