Auf dieser Seite

QPicture Class

Die Klasse „QPicture“ ist ein Zeichenobjekt, das Befehle von „ QPainter “ aufzeichnet und wiedergeben kann. Mehr...

Header: #include <QPicture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Erbt von: QPaintDevice

Öffentliche Funktionen

QPicture(int formatVersion = -1)
QPicture(const QPicture &pic)
virtual ~QPicture()
QRect boundingRect() const
const char *data() const
bool isNull() const
bool load(const QString &fileName)
bool load(QIODevice *dev)
bool play(QPainter *painter)
bool save(const QString &fileName)
bool save(QIODevice *dev)
void setBoundingRect(const QRect &r)
virtual void setData(const char *data, uint size)
uint size() const
void swap(QPicture &other)
QPicture &operator=(QPicture &&other)
QPicture &operator=(const QPicture &p)
QDataStream &operator<<(QDataStream &s, const QPicture &r)
QDataStream &operator>>(QDataStream &s, QPicture &r)

Ausführliche Beschreibung

Ein Bild serialisiert Zeichenbefehle in einem plattformunabhängigen Format an ein E/A-Gerät. Sie werden manchmal als Metadateien bezeichnet.

Qt-Bilder verwenden ein proprietäres Binärformat. Im Gegensatz zu nativen Bildformaten (Metadateien) vieler Fenstersysteme unterliegen Qt-Bilder keinen Einschränkungen hinsichtlich ihres Inhalts. Alles, was auf ein Widget oder eine Pixmap gezeichnet werden kann (z. B. Schriftarten, Pixmaps, Bereiche, transformierte Grafiken usw.), kann auch in einem Bild gespeichert werden.

QPicture ist auflösungsunabhängig, d. h., ein QPicture kann auf verschiedenen Geräten (z. B. SVG, PDF, PS, Drucker und Bildschirm) angezeigt werden und sieht dabei immer gleich aus. Dies ist beispielsweise für die WYSIWYG-Druckvorschau erforderlich. QPicture läuft mit der standardmäßigen System-DPI und skaliert den Zeichner entsprechend den Auflösungsunterschieden je nach Fenstersystem.

Beispiel für die Aufzeichnung eines Bildes:

QPicture picture;
QPainter painter;
painter.begin(&picture);           // paint in picture
painter.drawEllipse(10,20, 80,70); // draw an ellipse
painter.end();                     // painting done
picture.save("drawing.pic");       // save picture

Beachten Sie, dass die Liste der Malwerkzeug-Befehle bei jedem Aufruf der Funktion ` QPainter::begin()` zurückgesetzt wird.

Beispiel für die Wiedergabe eines Bildes:

QPicture picture;
picture.load("drawing.pic");           // load picture
QPainter painter;
painter.begin(&myImage);               // paint in myImage
painter.drawPicture(0, 0, picture);    // draw the picture at (0,0)
painter.end();                         // painting done

Bilder können auch mit ` play()` gezeichnet werden. Es stehen einige grundlegende Daten zu einem Bild zur Verfügung, zum Beispiel ` size()`, ` isNull()` und ` boundingRect()`.

Hinweis: QPicture verwendet „ QDataStream “ zur Serialisierung. Es gelten die „ same reservations “ zum Schutz vor dem Einlesen nicht vertrauenswürdiger Daten.

Siehe auch QMovie.

Dokumentation der Mitgliedsfunktionen

[explicit] QPicture::QPicture(int formatVersion = -1)

Erstellt ein leeres Bild.

Der Parameter „ formatVersion “ kann verwendet werden, um ein QPicture zu erstellen, das von Anwendungen gelesen werden kann, die mit früheren Versionen von Qt kompiliert wurden.

Beachten Sie, dass der Standardwert für „formatVersion“ -1 ist, was die aktuelle Version bezeichnet, d. h. für Qt 4.0 entspricht eine „formatVersion“ von 7 dem Standardwert von -1.

Das Lesen von Bildern, die mit früheren Versionen von Qt erstellt wurden, wird in Qt 4.0 nicht unterstützt.

QPicture::QPicture(const QPicture &pic)

Erstellt eine Kopie von „ pic “.

Dieser Konstruktor ist dank impliziter gemeinsamen Nutzung schnell.

[virtual noexcept] QPicture::~QPicture()

Das ruiniert das Bild.

QRect QPicture::boundingRect() const

Gibt das Begrenzungsrechteck des Bildes zurück oder ein ungültiges Rechteck, wenn das Bild keine Daten enthält.

Siehe auch „ setBoundingRect()“.

const char *QPicture::data() const

Gibt einen Zeiger auf die Bilddaten zurück. Der Zeiger ist nur bis zum Aufruf der nächsten nicht-konstanten Funktion für dieses Bild gültig. Der zurückgegebene Zeiger ist 0, wenn das Bild keine Daten enthält.

Siehe auch setData(), size() und isNull().

bool QPicture::isNull() const

Gibt „ true “ zurück, wenn das Bild keine Daten enthält; andernfalls wird „false“ zurückgegeben.

bool QPicture::load(const QString &fileName)

Lädt ein Bild aus der unter fileName angegebenen Datei und gibt bei Erfolg „true“ zurück; andernfalls wird das Bild ungültig gemacht und „ false “ zurückgegeben.

Siehe auch save().

bool QPicture::load(QIODevice *dev)

dev ist das Gerät, das zum Laden verwendet werden soll.

Dies ist eine überladene Funktion.

bool QPicture::play(QPainter *painter)

Spielt das Bild mithilfe von ` painter` ab und gibt bei Erfolg ` true ` zurück; andernfalls wird ` false` zurückgegeben.

Diese Funktion verhält sich genau wie ` QPainter::drawPicture()` mit den Koordinaten (x, y) = (0, 0).

Hinweis: Der Zustand des „Painter“ wird von dieser Funktion nicht beibehalten.

bool QPicture::save(const QString &fileName)

Speichert ein Bild in der durch „ fileName “ angegebenen Datei und gibt bei Erfolg „true“ zurück; andernfalls wird „ false “ zurückgegeben.

Siehe auch load().

bool QPicture::save(QIODevice *dev)

dev ist das Gerät, das zum Speichern verwendet werden soll.

Dies ist eine überladene Funktion.

void QPicture::setBoundingRect(const QRect &r)

Setzt das Begrenzungsrechteck des Bildes auf „ r “. Der automatisch berechnete Wert wird überschrieben.

Siehe auch boundingRect().

[virtual] void QPicture::setData(const char *data, uint size)

Legt die Bilddaten direkt aus data und size fest. Diese Funktion kopiert die Eingabedaten.

Siehe auch data() und size().

uint QPicture::size() const

Gibt die Größe der Bilddaten zurück.

Siehe auch ` data()`.

[noexcept] void QPicture::swap(QPicture &other)

Tauscht dieses Bild gegen other aus. Dieser Vorgang läuft sehr schnell ab und schlägt nie fehl.

[noexcept] QPicture &QPicture::operator=(QPicture &&other)

other Weist der Instanz „ QPicture “ die Instanz „ “ zu.

QPicture &QPicture::operator=(const QPicture &p)

Weist diesem Bild die Bild- p zu und gibt eine Referenz auf dieses Bild zurück.

Verwandte Nicht-Mitglieder

QDataStream &operator<<(QDataStream &s, const QPicture &r)

Schreibt das Bild „ r “ in den Stream „ s “ und gibt eine Referenz auf den Stream zurück.

QDataStream &operator>>(QDataStream &s, QPicture &r)

Liest ein Bild aus dem Stream „ s “ in das Bild „ r “ ein und gibt eine Referenz auf den Stream zurück.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.