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 -