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: |
Öffentliche Funktionen
Ö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(); });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 ®ion)
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.