Qt:调整 QLabel 大小以保持 QPixmap 的纵横比
您寻求在 QLabel 内显示 QPixmap,调整其大小,同时保持 QPixmap 的宽高比。原始宽高比。
解决方案:
要实现此目的,您可以利用 QSizePolicy 和 sizeHint() 方法,而无需子类化。
QSizePolicy 调整:
为您的 QLabel 选择合适的大小策略,例如 QSizePolicy::Expanding 或 QSizePolicy::MinimumExpanding。这将允许标签根据可用空间增大或缩小。
保留纵横比:
每当 QPixmap 发生变化时,您都可以在保留其纵横比的同时缩放它:
<code class="cpp">int w = label->width(); int h = label->height(); label->setPixmap(p.scaled(w,h,Qt::KeepAspectRatio));</code>
事件处理:
将此代码添加到两个关键位置:
以上是如何调整 QLabel 的大小以保持 QPixmap 的长宽比?的详细内容。更多信息请关注PHP中文网其他相关文章!