Я вложил в подкласс QGraphicsView и показал виджет в моем макете. В представлении у меня, естественно, есть QGraphicsScene.
Я могу получить размер QGraphicsScene совершенно отлично (а именно 2100x2970, как я установил), однако геометрия виджета QGraphicsView неверна. Всякий раз, когда я изменяю размер главного окна, меняется и виджет, и виджет. Конечно, размер QGraphicsScene не имеет значения и остается таким, какой он есть. Но виджет, показывающий полосы прокрутки и сцену через область просмотра, просто не дает мне правильную ширину и высоту виджета.
В QtDesigner виджет QGraphicsView показывает, что геометрия QWidget равна 1126x643. Но я никогда не могу получить эти значения в подклассе класса QGraphicsView.
Когда я знаю ширину (1126 или что-то еще при изменении размера главного окна), я могу вычислить масштабный коэффициент для вида (масштабный коэффициент = 1126/2100), чтобы сцена покрыла всю ширину виджета вида.
В QGraphicsView:
qDebug("scene: %f %f", scene()->width(), scene()->height()); // works (2100x2970)
qDebug("geo: %f %f", geometry().width(), geometry().height()); // does not (0x2970)