> 백엔드 개발 > C++ > QPixmap의 종횡비를 유지하기 위해 QLabel의 크기를 조정하는 방법은 무엇입니까?

QPixmap의 종횡비를 유지하기 위해 QLabel의 크기를 조정하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-29 15:23:02
원래의
510명이 탐색했습니다.

How to Resize a QLabel to Maintain the Aspect Ratio of a QPixmap?

Qt: QPixmap의 종횡비를 유지하기 위해 QLabel 크기 조정

QLabel 내부에 QPixmap을 표시하려고 합니다. 원본 가로 세로 비율.

해결책:

이를 달성하려면 서브클래싱할 필요 없이 QSizePolicy 및 sizeHint() 메서드를 활용할 수 있습니다.

QSizePolicy 조정:

QSizePolicy::Expanding 또는 QSizePolicy::MinimumExpanding과 같이 QLabel에 적합한 크기 정책을 선택합니다. 이렇게 하면 사용 가능한 공간에 따라 레이블이 커지거나 줄어들 수 있습니다.

가로 세로 비율 유지:

QPixmap이 변경될 때마다 가로 세로 비율을 유지하면서 크기를 조정할 수 있습니다. :

<code class="cpp">int w = label->width();
int h = label->height();

label->setPixmap(p.scaled(w,h,Qt::KeepAspectRatio));</code>
로그인 후 복사

이벤트 처리:

이 코드를 두 개의 주요 위치에 추가하세요:

  • Pixmap 업데이트: QPixmap이 동적으로 업데이트되는 경우.
  • ResizeEvent: QLabel을 포함하는 위젯의 resizeEvent에 있습니다. 이렇게 하면 위젯의 크기가 변경되더라도 라벨의 크기가 적절하게 유지됩니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿