繁体   English   中英

QLabel :: setPixmap()和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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM