Sur cette page

QPaintDeviceWindow Class

Sous-classe pratique de QWindow qui est également une QPaintDevice. 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 : QWindow et QPaintDevice
Héritée par :

QOpenGLWindow et QRasterWindow

Fonctions publiques

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

Créneaux publics

void update()

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

virtual void paintEvent(QPaintEvent *event) override

Description détaillée

QPaintDeviceWindow est comme une fenêtre QWindow ordinaire, avec la fonctionnalité supplémentaire d'être un dispositif de peinture. 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 une page 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 comme QOpenGLWindow.

Voir également QOpenGLWindow.

Documentation des fonctions membres

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

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

Gère les événements de peinture passés dans le paramètre event.

L'implémentation par défaut ne fait rien. Réimplémentez cette fonction pour peindre. Si nécessaire, la zone sale peut être récupérée à partir du paramètre event.

[slot] void QPaintDeviceWindow::update()

Marque l'ensemble de la fenêtre comme étant sale et planifie une nouvelle peinture.

Remarque : les appels ultérieurs à cette fonction avant le prochain événement de peinture seront ignorés.

Remarque : Pour les fenêtres non exposées, la mise à jour est différée jusqu'à ce que la fenêtre soit à nouveau exposée.

Note : Ce slot est surchargé. Pour se 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, voir Connexion aux slots surchargés.

void QPaintDeviceWindow::update(const QRect &rect)

Marque l'adresse rect de la fenêtre comme étant sale et planifie une nouvelle peinture.

Remarque : les appels ultérieurs à cette fonction avant le prochain événement de peinture seront ignorés, mais rect est ajouté à la région à mettre à jour.

Remarque : pour les fenêtres non exposées, la mise à jour est différée jusqu'à ce que la fenêtre soit à nouveau exposée.

void QPaintDeviceWindow::update(const QRegion &region)

Marque l'adresse region de la fenêtre comme étant sale et planifie une nouvelle peinture.

Remarque : les appels ultérieurs à cette fonction avant le prochain événement de peinture seront ignorés, mais region est ajouté à la région à mettre à jour.

Remarque : pour les fenêtres non exposées, la mise à jour est différée jusqu'à ce que la fenêtre soit à nouveau exposée.

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