Maison > développement back-end > C++ > Comment conserver les proportions lors de l'affichage d'images dans QLabel de Qt ?

Comment conserver les proportions lors de l'affichage d'images dans QLabel de Qt ?

Susan Sarandon
Libérer: 2024-10-30 22:10:02
original
459 Les gens l'ont consulté

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

Préserver les proportions dans le QLabel de Qt avec QPixmap

Dans Qt, afficher une image dans un QLabel pose souvent le défi de redimensionner tout en préservant ses proportions. Ceci est particulièrement important lorsqu'il s'agit de changements dynamiques dans les dimensions de l'image source.

Conserver les proportions avec la politique de taille

Pour résoudre ce problème, ajustez la QSizePolicy de l'étiquette. pour permettre une expansion ou une expansion minimale. Par exemple :

<code class="cpp">QLabel label;
label.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);</code>
Copier après la connexion

Mise à l'échelle du QPixmap

Pour mettre à l'échelle le QPixmap dans le QLabel tout en conservant l'aspect ratio, ajoutez le code suivant :

<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>
Copier après la connexion

Insérez ce code à deux emplacements :

  1. Chaque fois que la pixmap est mise à jour
  2. Dans le resizeEvent du widget contenant le label

Cette configuration garantit que le QLabel se redimensionne pour accueillir le QPixmap tout en préservant ses proportions, en suivant l'espace disponible .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal