如果在QLabel中包含QImage,在调整窗口大小并保持纵横比(因此图像不会变形)时是否可以向上或向下缩放?我发现它可以使用setScaledContents()进行缩放,并且您可以设置最小和最大大小,但图像仍然会丢失其方面。

如果可以使用Python解释(因为我不知道c ++)会很好,但我会采取我能得到的。 : - )

提前致谢!

有帮助吗?

解决方案

我将它显示为C ++,这就是我正在查看的文档。转换为python应该不会太难。

您需要创建 QLayoutItem 的自定义派生,它会覆盖 bool hasHeightForWidth() int heightForWidth(int width)以保留长宽比不知何故。您可以将图像传入并查询,也可以直接设置比率。您还需要确保 widget()函数返回指向正确标签的指针。

完成后,您可以按照与窗口小部件相同的方式将布局项添加到布局中。因此,添加标签后,请将其更改为使用自定义布局项类。

我实际上没有测试任何这个,所以这是一个理论上的解决方案。如果需要的话,我不知道有任何办法通过设计师来做这个解决方案。

其他提示

将图像转换为 QPixmap (使用 QPixmap.fromImage(img))然后,您可以使用 scaledToHeight()

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top