Я хотел бы спросить вас о проблеме, которую мне не удалось решить.
У меня есть 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);
Но ничего не работает.
Я приведу вам пример на следующем изображении того, что происходит.
Однако я нашел способ, который не на 100% удовлетворяет.
Я заменил функцию resizeEvent, как в примере ниже:
void QMainWindows::resizeEvent(QResizeEvent *){
QRectF bounds = ui->graphQSYS->scene()->sceneRect();
ui->graphQSYS->fitInView(bounds, Qt::KeepAspectRatioByExpanding);
ui->graphQSYS->centerOn(bounds.center());
}
Однако при изменении размера качество изображения становится действительно плохим. Текст, написанный на нем, больше не может быть прочитан. Вы знаете другой способ сохранить качество изображения?
Большое спасибо.
Других решений пока нет …