我正在使用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)到目前为止,还不错,但是我该如何摆脱图像视图周围的空白呢?理想情况下,我希望我的像素图使用全宽度的图形视图,并保持高宽比,图形视图应该相应地调整其高度。对于如何以直截了当的方式实现这一点,有什么想法吗?
这里有一张图片来更好地了解我得到了什么:

正如你所看到的,有白色的边框,我想要避免。
发布于 2015-06-25 09:03:37
好吧,我照帕维尔的建议做了:
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()中调用它时,它可以很好地工作。
https://stackoverflow.com/questions/30951727
复制相似问题