我一直在追踪一个归结为此的错误 - 如果您在滚动区域内显示图片标签,那么如果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();
如果您在 setPixmap()
之前交换行以致电setWidget()
,则会正确调整标签大小。
为什么会发生这种情况,如何正确强制标签resize
?