![](/img/trans.png)
[英]QScrollArea::ensureVisible() and QScrollArea::setWidget()
[英]QLabel::setPixmap() and QScrollArea::setWidget()
我一直在追踪一个错误,该错误可以归结为这个错误-如果在滚动区域内显示图像标签,则在 QScrollArea::setWidget()
QLabel::setPixmap()
之后调用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()
之前交换行以调用setPixmap()
setWidget()
,则标签将被正确调整大小。
为什么会发生这种情况,如何强制标签正确resize
?
将滚动区域的widgetResizable
属性设置为true:
scrollArea->setWidgetResizable(true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.