Zentriertes Fenster mit dynamischen Bild
Teil 4
Um das Bild dynamisch an die Fenstergröße anzupassen, nutze ich eine eigene Klasse,
die von QLabel erbt, und überschreiben deren resizeEvent. Dadurch wird sichergestellt,
dass das Bild bei jeder Größenänderung des Fensters flüssig und scharf mitskaliert wird,
ohne das Seitenverhältnis (Aspect Ratio) zu verzerren.
Was macht dieser Code genau?
➡️ Zentrierung auf dem Bildschirm (center_on_screen): Anstatt veralteter Desktop-Klassen nutzt
dieser Code
QApplication.primaryScreen().availableGeometry(). Das stellt sicher, dass auch Taskleisten
oder Dock-Menüs berücksichtigt werden und das Fenster wirklich in der nutzbaren Mitte landet.
➡️ Seitenverhältnis bleibt erhalten (KeepAspectRatio): Das Bild wird nicht unschön verzerrt, wenn
du das Fenster ganz lang oder ganz hochziehst. Es behält stets seine natürlichen Proportionen.
➡️ Scharfe Skalierung (SmoothTransformation): Durch den sanften Filter verpixelt das Bild beim
Verkleinern oder Vergrößern nicht so schnell.
➡️ Sicherheitsnetz (Fallback): Sollte die Bilddatei (im Beispiel standardmäßig Sonnenblume.png) mal
nicht im selben Ordner liegen, stürzt das Programm nicht ab, sondern zeigt dir einen hilfreichen Text
mit dem Pfad an, wo das Bild liegen sollte.
Python. Zentriertes Fenster mit dynamischen Bild. Ohne Gewähr © 2026 Hans Busche