Auf dieser Seite

QPaintDeviceWindow Class

Eine Komfort-Unterklasse von „ QWindow “, die gleichzeitig eine „ QPaintDevice “ ist. Mehr...

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

QOpenGLWindow und QRasterWindow

Öffentliche Funktionen

void update(const QRect &rect)
void update(const QRegion &region)

Öffentliche Slots

void update()

Neu implementierte geschützte Funktionen

virtual void paintEvent(QPaintEvent *event) override

Ausführliche Beschreibung

QPaintDeviceWindow ähnelt einer regulären ` QWindow`, verfügt jedoch zusätzlich über die Funktionalität eines Zeichen-Devices. Wann immer der Inhalt aktualisiert werden muss, wird die virtuelle Funktion ` paintEvent()` aufgerufen. Unterklassen, die diese Funktion neu implementieren, können dann einfach ein ` QPainter ` im Fenster öffnen.

Hinweis: Diese Klasse kann nicht direkt in Anwendungen verwendet werden. Sie dient vielmehr als Grundlage für Unterklassen wie ` QOpenGLWindow`.

Siehe auch QOpenGLWindow.

Dokumentation der Mitgliedsfunktionen

[override virtual protected] void QPaintDeviceWindow::paintEvent(QPaintEvent *event)

Übernimmt die Implementierung von: ` QWindow::paintEvent` (`QPaintEvent *ev`).

Verarbeitet die über den Parameter „ event “ übergebenen Zeichenereignisse.

Die Standardimplementierung führt keine Aktion aus. Implementieren Sie diese Funktion neu, um das Zeichnen durchzuführen. Bei Bedarf kann der betroffene Bereich über ` event` abgerufen werden.

[slot] void QPaintDeviceWindow::update()

Markiert das gesamte Fenster als „dirty“ und plant eine Neuzeichnung ein.

Hinweis: Nachfolgende Aufrufe dieser Funktion vor dem nächsten Zeichnungsereignis werden ignoriert.

Hinweis: Bei nicht sichtbaren Fenstern wird die Aktualisierung aufgeschoben, bis das Fenster wieder sichtbar wird.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        paintDeviceWindow, qOverload<>(&QPaintDeviceWindow::update));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        paintDeviceWindow, [receiver = paintDeviceWindow]() { receiver->update(); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „Verbindung zu überladenen Slots herstellen“.

void QPaintDeviceWindow::update(const QRect &rect)

Markiert den Bereich „ rect “ des Fensters als geändert und plant eine Neuzeichnung ein.

Hinweis: Nachfolgende Aufrufe dieser Funktion vor dem nächsten Zeichnungsereignis werden ignoriert, der Bereich „ rect “ wird jedoch zur zu aktualisierenden Region hinzugefügt.

Hinweis: Bei nicht sichtbaren Fenstern wird die Aktualisierung aufgeschoben, bis das Fenster wieder sichtbar wird.

void QPaintDeviceWindow::update(const QRegion &region)

Markiert den Bereich „ region “ des Fensters als geändert und plant eine Neuzeichnung.

Hinweis: Nachfolgende Aufrufe dieser Funktion vor dem nächsten Zeichnungsereignis werden ignoriert, aber „ region “ wird der zu aktualisierenden Region hinzugefügt.

Hinweis: Bei nicht sichtbaren Fenstern wird die Aktualisierung zurückgestellt, bis das Fenster wieder sichtbar wird.

© 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.