PyQt4图形视图和像素大小

2024-07-08 09:52:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用QTDesigner为一些图像处理任务开发一个GUI。在网格布局中,我有两个相互下方的图形视图。两者都应该显示一个图像,稍后我将添加覆盖。在

我创建我的Pixmapimg\u 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)

到目前为止,还不错,但是如何去除图像视图周围的空白?理想情况下,我希望我的pixmap使用图形视图的全宽,并且为了保持纵横比,图形视图应该相应地调整其高度。有什么想法可以直接实现这个目标吗?在

这里有一张图片,让我更好地了解我得到了什么:

Nobody likes white borders

如你所见,有白色的边界,我想避免。在


Tags: 图像selfview视图图形网格img场景
1条回答
网友
1楼 · 发布于 2024-07-08 09:52:47

好吧,我按照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()中调用此函数时,它可以正常工作。在

相关问题 更多 >

    热门问题