首页  >  文章  >  后端开发  >  在Qt的QLabel中显示图像时如何保持宽高比?

在Qt的QLabel中显示图像时如何保持宽高比?

Susan Sarandon
Susan Sarandon原创
2024-10-30 22:10:02368浏览

How to Maintain Aspect Ratio When Displaying Images in Qt's QLabel?

使用 QPixmap 保留 Qt 的 QLabel 中的宽高比

Qt 中,在 QLabel 中显示图像 通常会带来在保持纵横比的同时调整大小的挑战。这在处理源图像尺寸的动态变化时尤其重要。

通过大小策略保持宽高比

要解决此问题,请调整标签的 QSizePolicy 允许扩展或最小扩展。例如:

<code class="cpp">QLabel label;
label.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);</code>

缩放 QPixmap

QLabel 内缩放 QPixmap,同时保持纵横比比例,添加以下代码:

<code class="cpp">QPixmap pixmap; // Assumed loaded from a source
int labelWidth = label.width();
int labelHeight = label.height();
label.setPixmap(pixmap.scaled(labelWidth, labelHeight, Qt::KeepAspectRatio));</code>

将此代码插入两个位置:

  1. 每当像素图更新时
  2. resizeEvent
小部件的🎜>此设置可确保

QLabel调整大小以适应QPixmap,同时保留其纵横比,遵循可用空间.

以上是在Qt的QLabel中显示图像时如何保持宽高比?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn