首頁 >後端開發 >C++ >在Qt的QLabel中顯示影像時如何保持寬高比?

在Qt的QLabel中顯示影像時如何保持寬高比?

Susan Sarandon
Susan Sarandon原創
2024-10-30 22:10:02452瀏覽

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

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

Qt在 通常會帶來在保持縱橫比的同時調整大小的挑戰。這在處理來源影像尺寸的動態變化時尤其重要。

透過大小策略保持寬高比

要解決此問題,請調整標籤的 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