我遇到的另一个问题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()
甚至setFixedSize()
为什么会发生这种情况,并有可能使ensureVisible()
工作不改变的顺序setWidget()
和setPixmap()