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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPicture gehört zu den implizit gemeinsam genutzten Klassen.
Ö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) |
Verwandte Nicht-Mitglieder
| 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 pictureBeachten 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 doneBilder 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.
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.