Heim >Backend-Entwicklung >C++ >Wie ändere ich die Größe eines QLabel, um das Seitenverhältnis einer QPixmap beizubehalten?
Qt: Größenänderung von QLabel zur Beibehaltung des Seitenverhältnisses von QPixmap
Sie möchten eine QPixmap in einem QLabel anzeigen, das seine Größe anpasst und dabei das Seitenverhältnis beibehält ursprüngliches Seitenverhältnis.
Lösung:
Um dies zu erreichen, können Sie die Methoden QSizePolicy und sizeHint() nutzen, ohne dass eine Unterklassenbildung erforderlich ist.
QSizePolicy-Anpassung:
Wählen Sie eine geeignete Größenrichtlinie für Ihr QLabel aus, z. B. QSizePolicy::Expanding oder QSizePolicy::MinimumExpanding. Dadurch kann das Etikett je nach verfügbarem Platz vergrößert oder verkleinert werden.
Seitenverhältnis beibehalten:
Immer wenn sich die QPixmap ändert, können Sie sie skalieren und dabei das Seitenverhältnis beibehalten :
<code class="cpp">int w = label->width(); int h = label->height(); label->setPixmap(p.scaled(w,h,Qt::KeepAspectRatio));</code>
Ereignisbehandlung:
Fügen Sie diesen Code an zwei wichtigen Stellen hinzu:
Das obige ist der detaillierte Inhalt vonWie ändere ich die Größe eines QLabel, um das Seitenverhältnis einer QPixmap beizubehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!