Как получить размер QGraphicsView? - PullRequest
0 голосов
/ 07 января 2020

У меня проблема при попытке получить правильный размер QGraphicsView. Метод size () всегда возвращает 640x480. Почему это постоянно? Даже когда я изменяю размер приложения, оно остается прежним. Я хочу иметь QGraphicsView, который автоматически изменяет размер, заполняет все приложение и получает его текущий размер.

Мой код сейчас (конструктор моего класса QMainWindow):

auto graph = ui->graph;
scene = new QGraphicsScene();
graph->setAlignment(Qt::AlignTop|Qt::AlignLeft);
graph->setScene(scene);
graph->setBackgroundBrush(QBrush(QColor(255, 230, 179)));

И затем я попробуйте это (некоторый метод другого класса, который вызывается при нажатии кнопки):

QSize size = graphicsView->size();

Ширина размера всегда 640, а высота всегда 480 независимо от того, изменяю ли я размер главного окна или запускаю приложение в крошечном виде окно (QGraphicsView изменяет размеры автоматически при изменении размера окна). Я также попытался получить высоту и ширину QGraphicsScene с помощью:

scene->heigth();
scene->width();

, но оба возвращают 0.

Как я могу получить правильные размеры QGraphicsView?

Заранее спасибо.

...