Heim > Artikel > Backend-Entwicklung > Wie behalte ich das Seitenverhältnis bei der Anzeige von Bildern im QLabel von Qt bei?
Beibehalten des Seitenverhältnisses in Qts QLabel mit QPixmap
In Qt wird ein Bild in einem QLabel angezeigt stellt oft die Herausforderung dar, die Größe zu ändern und gleichzeitig das Seitenverhältnis beizubehalten. Dies ist besonders wichtig, wenn es um dynamische Änderungen in den Abmessungen des Quellbilds geht.
Beibehalten des Seitenverhältnisses mit der Größenrichtlinie
Um dieses Problem zu beheben, passen Sie die QSizePolicy des Etiketts an um eine Erweiterung oder minimale Erweiterung zu ermöglichen. Zum Beispiel:
<code class="cpp">QLabel label; label.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);</code>
Skalieren der QPixmap
Um die QPixmap innerhalb des QLabel zu skalieren und dabei das Seitenverhältnis beizubehalten Verhältnis, fügen Sie den folgenden Code hinzu:
<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>
Fügen Sie diesen Code an zwei Stellen ein:
Dieses Setup stellt sicher, dass die Größe des QLabel an die QPixmap angepasst wird, während das Seitenverhältnis entsprechend dem verfügbaren Platz erhalten bleibt .
Das obige ist der detaillierte Inhalt vonWie behalte ich das Seitenverhältnis bei der Anzeige von Bildern im QLabel von Qt bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!