我将写一个非常简单的测试程序,当点击按钮时,GraphicsView 将显示一张图片,并使用网格布局。我希望窗口的大小能够根据图片的大小自动调整。该代码类似于:
// load image and setup scene
// ...
ui->graphicsView->show();
ui->graphicsView->updateGeometry();
// adjustSize();
adjustSize();
问题在于当调用
adjustSize()
时,窗口不会按正确的大小调整,我必须在调用adjustSize()
之前两次显示QMessageBox或调用resize(sizeHint())
以将窗口调整为正确的大小。顺便说一下,resize(sizeHint())
会得到相同的结果。我想知道为什么会发生这种情况,是否有更好的方法正确地处理它?非常感谢。