Maison >développement back-end >C++ >Comment redimensionner un QLabel pour conserver les proportions d'un QPixmap ?
Qt : redimensionner QLabel pour conserver les proportions de QPixmap
Vous cherchez à afficher un QPixmap à l'intérieur d'un QLabel qui ajuste sa taille tout en conservant le rapport hauteur/largeur d'origine.
Solution :
Pour y parvenir, vous pouvez exploiter les méthodes QSizePolicy et sizeHint() sans avoir besoin de sous-classement.
Ajustement QSizePolicy :
Sélectionnez une politique de taille appropriée pour votre QLabel, telle que QSizePolicy::Expanding ou QSizePolicy::MinimumExpanding. Cela permettra à l'étiquette de s'agrandir ou de se rétrécir en fonction de l'espace disponible.
Préserver les proportions :
Chaque fois que le QPixmap change, vous pouvez le redimensionner tout en préservant ses proportions. :
<code class="cpp">int w = label->width(); int h = label->height(); label->setPixmap(p.scaled(w,h,Qt::KeepAspectRatio));</code>
Gestion des événements :
Ajoutez ce code à deux endroits clés :
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!