>  기사  >  백엔드 개발  >  Qt의 QLabel에 이미지를 표시할 때 종횡비를 유지하는 방법은 무엇입니까?

Qt의 QLabel에 이미지를 표시할 때 종횡비를 유지하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-30 22:10:02371검색

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. pixmap이 업데이트될 때마다
  2. resizeEvent 라벨이 포함된 위젯의

이 설정을 사용하면 QLabel의 크기가 QPixmap에 맞게 크기가 조정되면서 가로세로 비율은 유지되고 사용 가능한 공간을 따라갈 수 있습니다. .

위 내용은 Qt의 QLabel에 이미지를 표시할 때 종횡비를 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.