Lorsque vous travaillez avec un QLabel contenant un QPixmap dynamique, redimensionner l'étiquette pour s'adapter aux changements d'espace disponible tout en préservant l'aspect le rapport de l’image peut être un défi. Ce qui suit fournit une solution complète sans avoir besoin de sous-classement :
Dimensionnement du QLabel
Pour permettre le redimensionnement, définissez une politique de taille appropriée pour l'étiquette, telle que Extension ou Extension minimale. Cela garantira que l'étiquette ajuste automatiquement sa taille en fonction de l'espace disponible.
Mise à l'échelle de la QPixmap
Pour redimensionner la pixmap tout en conservant son rapport hauteur/largeur, vous pouvez utiliser le code suivant :
QPixmap p; // Load the pixmap // Get the dimensions of the label int w = label->width(); int h = label->height(); // Scale the pixmap to fit the label's dimensions while preserving its aspect ratio label->setPixmap(p.scaled(w, h, Qt::KeepAspectRatio));
Gestion des événements
Ajoutez le code de mise à l'échelle ci-dessus à deux endroits :
En suivant ces étapes, vous pouvez redimensionner efficacement un QLabel avec un QPixmap tout en préservant les proportions de l'image, offrant ainsi un moyen flexible et pratique d'afficher des images dynamiques dans votre application.
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!