我使用 QLabel 向用户显示更大、动态变化的 QPixmap 的内容。根据可用空间使这个标签更小/更大会很好。屏幕尺寸并不总是像 QPixmap 一样大。
如何修改 QLabel 的 QSizePolicy
和 sizeHint()
以调整 QPixmap 的大小,同时保持原始 QPixmap 的纵横比?
我无法修改 QLabel 的 sizeHint()
,将 minimumSize()
设置为零无济于事。在 QLabel 上设置 hasScaledContents()
允许增长,但会破坏纵横比…
子类化 QLabel 确实有帮助,但是这个解决方案为一个简单的问题添加了太多代码……
任何聪明的提示如何在 没有 子类化的情况下完成这个?
原文由 marvin2k 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了更改标签尺寸,您可以为标签选择适当的尺寸策略,例如展开或最小展开。
您可以通过在每次更改时保持其纵横比来缩放像素图:
您应该在两个地方添加此代码:
resizeEvent
中