私の Qt アプリケーションでは、動的に QGraphicsView を作成し、それらをQGridLayout内に追加しています。グリッド内に最初のビューを追加すると、ビューはグリッド内の使用可能なすべてのスペースをカバーします。次に、2 番目のビューを追加すると、グリッド内に 2 つの同じサイズのビューができます。次に、3 番目のビューを追加すると、グリッド内に同じサイズのビューが 3 つあります。等々。
最初のビューの更新されたサイズを取得するにはどうすればよいですか?
以下は私の試用版ですが、これは機能していないと思います。
//Definition of viewsPerRow
static const int viewsPerRow = 3;
void window::newViewRequested()
{
QGraphicsView *view = new QGraphicsView;
view->setVisible(true);
viewVector.push_back(view);
for(int i = viewGrid->count(); i < viewVector.count(); i++)
{
viewGrid->addWidget(view,i / viewsPerRow ,i % viewsPerRow);
}
qDebug()<<viewGrid->cellRect(0,0);
}