Zentriertes Fenster mit dynamischen Bild

Teil 4

Zurück Download Python Quellencode

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.


PyQt6 Images


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.


Zurück Download Python Quellencode