Изменение размера Qgraphicview при изменении размеров окна
Я хотел бы спросить вас о проблеме, которую мне не удалось решить. У меня есть QApplication, который загружает изображение в первом главном окне.
Код следующий:
QGraphicsScene *scene = new QGraphicsScene;
QPixmap pixmap(QString::fromStdString("image.png");
scene->addPixmap(pixmap);
ui->graphview->setScene(scene);
ui->graphview->show();
Я пытаюсь подогнать изображение по размеру в QGraphivsView, даже когда я изменил размеры своих окон.
Однако изображение отображается с его собственным размером во время выполнения, и этот размер не изменяется при изменении размеров окон. Например, увеличение моих окон не увеличивает размер изображения и аналогично уменьшению.
Я пытался даже с помощью addind следующий код:
ui->graphview->fitInView(pixmap, Qt::KeepAspectRatioByExpanding);
Но ничего не работает.
Я приведу вам пример на следующем изображении того, что происходит.
1 ответ
Однако я нашел способ, который не на 100% удовлетворяет. Я заменил функцию resizeEvent, как в примере ниже:
void QMainWindows::resizeEvent(QResizeEvent *){
QRectF bounds = ui->graphQSYS->scene()->sceneRect();
ui->graphQSYS->fitInView(bounds, Qt::KeepAspectRatioByExpanding);
ui->graphQSYS->centerOn(bounds.center());
}
Однако при изменении размера качество изображения становится действительно плохим. Текст, написанный на нем, больше не может быть прочитан. Вы знаете другой способ сохранить качество изображения? Большое спасибо.