Sur cette page

QPaintDeviceWindow Class

Sous-classe de commodité de ` QWindow ` qui est également une ` QPaintDevice`. En savoir plus...

En-tête : #include <QPaintDeviceWindow>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Hérite de :QWindow et QPaintDevice
Hérité par :

QOpenGLWindow et QRasterWindow

Fonctions publiques

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

Slots publics

void update()

Fonctions protégées réimplémentées

virtual void paintEvent(QPaintEvent *event) override

Description détaillée

QPaintDeviceWindow s'apparente à une classe QWindow classique, avec la fonctionnalité supplémentaire d'être également un périphérique de dessin. Chaque fois que le contenu doit être mis à jour, la fonction virtuelle paintEvent() est appelée. Les sous-classes qui réimplémentent cette fonction peuvent alors simplement ouvrir un QPainter sur la fenêtre.

Remarque : cette classe ne peut pas être utilisée directement dans les applications. Elle sert plutôt de base à des sous-classes telles que ` QOpenGLWindow`.

Voir également QOpenGLWindow.

Documentation des fonctions membres

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

Réimplémentation de : QWindow::paintEvent(QPaintEvent *ev).

Gère les événements de dessin transmis via le paramètre event.

L'implémentation par défaut ne fait rien. Réimplémentez cette fonction pour effectuer le dessin. Si nécessaire, la zone à redessiner est accessible via event.

[slot] void QPaintDeviceWindow::update()

Marque l'intégralité de la fenêtre comme « sale » et planifie un rafraîchissement.

Remarque : les appelsultérieurs à cette fonction avant le prochain événement de rafraîchissement seront ignorés.

Remarque : pour les fenêtres non visibles, la mise à jour est reportée jusqu’à ce que la fenêtre redevienne visible.

Remarque : ce slot est surchargé. Pour vous connecter à ce slot :

// 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(); });
Pour plus d’exemples et d’approches, consultez la section « Connexion aux slots surchargés ».

void QPaintDeviceWindow::update(const QRect &rect)

Marque l'rect de la fenêtre comme « sale » et planifie un rafraîchissement.

Remarque : les appelsultérieurs à cette fonction avant le prochain événement de rafraîchissement seront ignorés, mais l’ rect est ajoutée à la région à mettre à jour.

Remarque : pour les fenêtres non visibles, la mise à jour est reportée jusqu’à ce que la fenêtre redevienne visible.

void QPaintDeviceWindow::update(const QRegion &region)

Marque l'region de la fenêtre comme « sale » et planifie un rafraîchissement.

Remarque : les appelsultérieurs à cette fonction avant le prochain événement de rafraîchissement seront ignorés, mais l'region sera ajoutée à la région à mettre à jour.

Remarque : pour les fenêtres non visibles, la mise à jour est reportée jusqu’à ce que la fenêtre redevienne visible.

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