QT. skalowanie i dostosowanie zdjec w graphicsView

0

Nie mam dużego doświadczenia w QT, więc moje pytanie może być nie do końca poprawnie skonstruowane.

Wyświetla się tylko część obrazu i w prawym dolnym rogu (nie na całym oknie QGraphicsView)

QImage image("obrazek.jpg");
     QGraphicsScene* scene = new QGraphicsScene();
     QGraphicsPixmapItem* item = new QGraphicsPixmapItem(QPixmap::fromImage(image));

     ui->graphicsView->setScene(scene);
     ui->graphicsView->resize(scene->itemsBoundingRect().size());
     scene->addItem(item);
     ui->graphicsView->show();
0
  1. Dlaczego nie korzystasz z zasobow?
  2. Dlaczego najpierw probujesz zmienic rozmiar QGraphicsView na podstawie QGraphicsScene, ktore jest puste?
  3. QGraphicsView::resize() przyjmuje nastepujace typy: const QSize& oraz int, int. QRectF::size() natomiast zwracana typ QSizeF, ktory jak twierdzi netbeans nie jest kompatybilny z QSize

To tyle jakichs tam baboli, reszta mi normalnie dziala.

0
n0name_l napisał(a):
  1. Dlaczego nie korzystasz z zasobow?
  2. Dlaczego najpierw probujesz zmienic rozmiar QGraphicsView na podstawie QGraphicsScene, ktore jest puste?
  3. QGraphicsView::resize() przyjmuje nastepujace typy: const QSize& oraz int, int. QRectF::size() natomiast zwracana typ QSizeF, ktory jak twierdzi netbeans nie jest kompatybilny z QSize

To tyle jakichs tam baboli, reszta mi normalnie dziala.

sorry za zamieszanie. wrzuciłem niepotrzebną linikę do kodu
kod jest taki:

 QImage image("obrazek.jpg");
 QGraphicsScene* scene = new QGraphicsScene();
 QGraphicsPixmapItem* item = new QGraphicsPixmapItem(QPixmap::fromImage(image));
 ui->graphicsView->setScene(scene);
 scene->addItem(item);
 ui->graphicsView->show();

ta niepotrzebna linika 'ui->graphicsView->resize(scene->itemsBoundingRect().size());' to skutek kombinowania przeskalowania obrazu.

Z zasobów nie korzystałem nigdy. W wersji późniejszej chce stosować nie jeden obrazek, a wybór przez użytkownika. Jeżeli będę mógł wyświetlić obraz na qgraphicsView innym sposobem niż to co próbuję, to bardzo chętnie to zrobię

QString fileName = QFileDialog::getOpenFileName(this,"kot.jpg",QDir::currentPath());
QImage  myImage(fileName);

1 użytkowników online, w tym zalogowanych: 0, gości: 1