PyQt4:图形视图和像素图大小
PyQt4: Graphics View and Pixmap Size
我正在使用 QTDesigner 为一些图像处理任务开发 GUI。我在网格布局中有两个图形视图彼此下方。两者都应显示图像,稍后我将添加叠加层。
我创建了我的 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)
到目前为止,还不错,但我如何去除图像视图周围的白色 space?理想情况下,我希望我的像素图使用图形视图的整个宽度并保持纵横比,图形视图应相应地调整其高度。关于如何以直接的方式实现这一目标的任何想法?
这里有一张图片可以更好地了解我得到的东西:
如您所见,有白色边框,我想避免。
好的,我按照 Pavel 的建议做了:
img_aspect_ratio = float(pixmap.size().width()) / pixmap.size().height()
width = img_view.size().width()
img_view.setFixedHeight( width / img_aspect_ratio )
img_view.fitInView(img_scene.sceneRect(), QtCore.Qt.KeepAspectRatio)
当你在每个 resizeEvent()
.
中调用它时它工作正常
我正在使用 QTDesigner 为一些图像处理任务开发 GUI。我在网格布局中有两个图形视图彼此下方。两者都应显示图像,稍后我将添加叠加层。
我创建了我的 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)
到目前为止,还不错,但我如何去除图像视图周围的白色 space?理想情况下,我希望我的像素图使用图形视图的整个宽度并保持纵横比,图形视图应相应地调整其高度。关于如何以直接的方式实现这一目标的任何想法?
这里有一张图片可以更好地了解我得到的东西:
如您所见,有白色边框,我想避免。
好的,我按照 Pavel 的建议做了:
img_aspect_ratio = float(pixmap.size().width()) / pixmap.size().height()
width = img_view.size().width()
img_view.setFixedHeight( width / img_aspect_ratio )
img_view.fitInView(img_scene.sceneRect(), QtCore.Qt.KeepAspectRatio)
当你在每个 resizeEvent()
.