3

我一直在追踪一个归结为这个的错误 - 如果您在滚动区域内显示图像标签,如果在之后QLabel::setPixmap()调用标签将不会调整为图像的大小。 QScrollArea::setWidget()

此示例说明了问题,只需替换/path/to/some/image.png为您计算机上的一些真实图像:

QScrollArea *scrollArea = new QScrollArea;
QLabel *label = new QLabel(scrollArea);
scrollArea->setWidget(label);
label->setPixmap(QPixmap("/path/to/some/image.png"));
scrollArea->show();

如果您将行交换到 call setPixmap() before setWidget(),标签将被正确调整大小。

为什么会发生这种情况,我怎样才能resize正确地强制标签?

4

1 回答 1

3

将滚动区域的widgetResizable属性设置为 true:

scrollArea->setWidgetResizable(true);
于 2014-03-26T07:42:51.533 回答