Я разрабатываю графический интерфейс с помощью QTDesigner для некоторых задач обработки изображений. У меня есть два графических представления друг под другом в виде сетки. Оба должны отображать изображение, и позже я добавлю наложения.
Я создаю свой Pixmap img_pixmap и добавляю его в свою сцену. Затем эта сцена добавляется в мое графическое представление. Поскольку мое изображение намного больше размера экрана, я применяю fitInView (). В коде:
self.img_pixmap_p = self.img_scene.addPixmap(img_pixmap)
self.img_view.setScene(self.img_scene)
self.img_scene.setSceneRect(QtCore.QRectF())
self.img_view.fitInView(self.img_scene.sceneRect(), QtCore.Qt.KeepAspectRatio)
Пока все хорошо, но как мне избавиться от белого пространства вокруг изображения? В идеале я хочу, чтобы мое растровое изображение использовало всю ширину графического представления и чтобы сохранить соотношение сторон, графическое представление должно соответствующим образом регулировать свою высоту. Есть идеи о том, как добиться этого простым способом?
Вот изображение, чтобы лучше понять, что я получаю:
Как видите, есть белые границы, которых я хочу избежать.
QGraphicsView
не может отрегулировать его размер в соответствии с размером сцены по умолчанию. Вам необходимо вручную рассчитать оптимальную высоту и установить ее с помощьюview.setFixedHeight(...)
. - person Pavel Strakhov   schedule 20.06.2015