PyQt5 - QPixmap-Klasse

QPixmapKlasse bietet eine Off-Screen-Darstellung eines Bildes. Es kann als QPaintDevice-Objekt verwendet oder in ein anderes Widget geladen werden, normalerweise eine Beschriftung oder eine Schaltfläche.

Die Qt-API hat eine andere ähnliche Klasse QImage, das für E / A- und andere Pixelmanipulationen optimiert ist. Pixmap hingegen ist für die Anzeige auf dem Bildschirm optimiert. Beide Formate sind untereinander konvertierbar.

Folgende Arten von Bilddateien können in ein QPixmap-Objekt eingelesen werden:

BMP Windows Bitmap
GIF Grafikaustauschformat (optional)
JPG Gemeinsame fotografische Expertengruppe
JPEG Gemeinsame fotografische Expertengruppe
PNG Tragbare Netzwerkgrafiken
PBM Tragbare Bitmap
PGM Tragbare Graymap
PPM Tragbare Pixmap
XBM X11 Bitmap
XPM X11 Pixmap

Die folgenden Methoden sind beim Umgang mit QPixmap-Objekten hilfreich:

Sr.Nr. Methoden & Beschreibung
1

copy()

Kopiert Pixmap-Daten von einem QRect-Objekt

2

fromImage()

Konvertiert das QImage-Objekt in QPixmap

3

grabWidget()

Erstellt eine Pixmap aus dem angegebenen Widget

4

grabWindow()

Erstellen Sie eine Pixmap von Daten in einem Fenster

5

Load()

Lädt eine Bilddatei als Pixmap

6

save()

Speichert das QPixmap-Objekt als Datei

7

toImage

Konvertiert eine QPixmap in QImage

Die häufigste Verwendung von QPixmap ist die Anzeige von Bildern auf einem Etikett / einer Schaltfläche.

Beispiel

Das folgende Beispiel zeigt ein Bild, das auf einem QLabel mithilfe von angezeigt wird setPixmap() Methode.

Der vollständige Code lautet wie folgt:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()
   l1 = QLabel()
   l1.setPixmap(QPixmap("python.png"))

   vbox = QVBoxLayout()
   vbox.addWidget(l1)
   win.setLayout(vbox)
   win.setWindowTitle("QPixmap Demo")
   win.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()

Der obige Code erzeugt die folgende Ausgabe -