在获得前一个QScrollArea
问题的帮助后,我遇到了另一个问题,这有点相似。
现在的问题是,ensureVisible()
如果您创建一个滚动区域和一个标签,将标签设置为滚动区域的小部件,然后将图像加载到标签中 -之后 setWidget()
:
此示例说明了问题,只需替换/path/to/some/image.png
为您计算机上的一些真实图像:
QScrollArea *scrollArea = new QScrollArea;
QLabel *label = new QLabel(scrollArea);
scrollArea->setWidgetResizable(true);
scrollArea->setWidget(label);
label->setPixmap(QPixmap("/path/to/some/image.png"));
label->setFixedSize(label->pixmap()->size());
scrollArea->ensureVisible(10000, 10000);
scrollArea->show();
如果之前setPixmap()
调用过 setWidget()
,ensureVisible()
将起作用。
此外,即使我调用setWidgetResizable()
and ,问题也是可重现的setFixedSize()
。
为什么会发生这种情况,是否可以在ensureVisible()
不更改setWidget()
and顺序的情况下进行工作setPixmap()
?