QPaintDevice Class
La classe QPaintDevice est la classe de base des objets qui peuvent être peints avec QPainter. Plus...
| En-tête : | #include <QPaintDevice> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Inherited By : | QImage, QOpenGLPaintDevice, QPagedPaintDevice, QPaintDeviceWindow, QPicture, QPixmap, QSvgGenerator, et QWidget |
- Liste de tous les membres, y compris les membres hérités
- QPaintDevice fait partie des classes de peinture.
Types publics
| enum | PaintDeviceMetric { PdmWidth, PdmHeight, PdmWidthMM, PdmHeightMM, PdmNumColors, …, PdmDevicePixelRatioF_EncodedB } |
Fonctions publiques
| virtual | ~QPaintDevice() |
| int | colorCount() const |
| int | depth() const |
| qreal | devicePixelRatio() const |
| qreal | devicePixelRatioF() const |
| int | height() const |
| int | heightMM() const |
| int | logicalDpiX() const |
| int | logicalDpiY() const |
| virtual QPaintEngine * | paintEngine() const = 0 |
| bool | paintingActive() const |
| int | physicalDpiX() const |
| int | physicalDpiY() const |
| int | width() const |
| int | widthMM() const |
Membres publics statiques
(since 6.8) int | encodeMetricF(QPaintDevice::PaintDeviceMetric metric, double value) |
Fonctions protégées
| QPaintDevice() | |
| virtual int | metric(QPaintDevice::PaintDeviceMetric metric) const |
Description détaillée
Un dispositif de peinture est une abstraction d'un espace bidimensionnel sur lequel on peut dessiner à l'aide d'un QPainter. Son système de coordonnées par défaut a son origine située en haut à gauche. X augmente vers la droite et Y augmente vers le bas. L'unité est le pixel.
Les capacités de dessin de QPaintDevice sont actuellement mises en œuvre par les sous-classes QWidget, QImage, QPixmap, QPicture, et QPrinter.
Pour mettre en œuvre la prise en charge d'un nouveau backend, vous devez dériver de QPaintDevice et réimplémenter la fonction virtuelle paintEngine() pour indiquer à QPainter quel moteur de peinture doit être utilisé pour dessiner sur ce périphérique particulier. Notez que vous devez également créer un moteur de peinture correspondant pour pouvoir dessiner sur le périphérique, c'est-à-dire dériver de QPaintEngine et réimplémenter ses fonctions virtuelles.
Attention : Qt exige qu'un objet QGuiApplication existe avant de pouvoir créer des périphériques de peinture. Les périphériques de peinture accèdent aux ressources du système de fenêtres, et ces ressources ne sont pas initialisées avant la création d'un objet d'application.
La classe QPaintDevice fournit plusieurs fonctions renvoyant les différentes mesures du périphérique : La fonction depth() renvoie sa profondeur de bits (nombre de plans de bits). La fonction height() renvoie sa hauteur dans les unités du système de coordonnées par défaut (par exemple, les pixels pour QPixmap et QWidget), tandis que heightMM() renvoie la hauteur du périphérique en millimètres. De même, les fonctions width() et widthMM() renvoient la largeur du dispositif en unités du système de coordonnées par défaut et en millimètres, respectivement. Il est également possible d'utiliser la fonction protégée metric() pour récupérer les informations métriques en spécifiant l'adresse PaintDeviceMetric souhaitée en tant qu'argument.
Les fonctions logicalDpiX() et logicalDpiY() renvoient la résolution horizontale et verticale de l'appareil en points par pouce. Les fonctions physicalDpiX() et physicalDpiY() renvoient également la résolution de l'appareil en points par pouce, mais notez que si la résolution logique et physique diffère, la fonction QPaintEngine correspondante doit gérer la correspondance. Enfin, la fonction colorCount() renvoie le nombre de couleurs différentes disponibles pour le périphérique de peinture.
Voir également QPaintEngine, QPainter, Coordinate System (système de coordonnées) et Paint System (système de peinture).
Documentation sur les types de membres
enum QPaintDevice::PaintDeviceMetric
Décrit les différentes mesures d'un dispositif de peinture.
| Constante | Valeur | Description |
|---|---|---|
QPaintDevice::PdmWidth | 1 | Largeur du dispositif de peinture dans les unités du système de coordonnées par défaut (par exemple, pixels pour QPixmap et QWidget). Voir également width(). |
QPaintDevice::PdmHeight | 2 | La hauteur du dispositif de peinture en unités du système de coordonnées par défaut (par exemple, pixels pour QPixmap et QWidget). Voir également height(). |
QPaintDevice::PdmWidthMM | 3 | La largeur du dispositif de peinture en millimètres. Voir également widthMM(). |
QPaintDevice::PdmHeightMM | 4 | La hauteur du dispositif de peinture en millimètres. Voir également heightMM(). |
QPaintDevice::PdmNumColors | 5 | Le nombre de couleurs différentes disponibles pour le dispositif de peinture. Voir aussi colorCount(). |
QPaintDevice::PdmDepth | 6 | La profondeur de bits (nombre de plans de bits) du dispositif de peinture. Voir aussi depth(). |
QPaintDevice::PdmDpiX | 7 | La résolution horizontale du dispositif en points par pouce. Voir aussi logicalDpiX(). |
QPaintDevice::PdmDpiY | 8 | La résolution verticale du dispositif en points par pouce. Voir aussi logicalDpiY(). |
QPaintDevice::PdmPhysicalDpiX | 9 | La résolution horizontale de l'appareil en points par pouce. Voir aussi physicalDpiX(). |
QPaintDevice::PdmPhysicalDpiY | 10 | La résolution verticale de l'appareil en points par pouce. Voir aussi physicalDpiY(). |
QPaintDevice::PdmDevicePixelRatio | 11 | Le rapport de pixel du périphérique. Les valeurs courantes sont 1 pour les écrans à ppp normal et 2 pour les écrans "rétina" à ppp élevé. |
QPaintDevice::PdmDevicePixelRatioScaled | 12 | Le rapport de pixel du périphérique mis à l'échelle pour le périphérique. Il est identique à PdmDevicePixelRatio, sauf que la valeur est mise à l'échelle par un facteur constant afin de prendre en charge les dispositifs de peinture avec des facteurs d'échelle fractionnaires. Le facteur d'échelle constant utilisé est devicePixelRatioFScale(). Cette valeur de la liste a été introduite dans Qt 5.6. |
QPaintDevice::PdmDevicePixelRatioF_EncodedA (since Qt 6.8) | 13 | Cet élément de l'enum, ainsi que l'élément B correspondant, sont utilisés ensemble pour le rapport de pixel du périphérique, en tant que valeur à virgule flottante encodée double. Une sous-classe QPaintDevice qui prend en charge les valeurs fractionnaires de DPR doit mettre en œuvre la prise en charge de ces deux éléments dans sa surcharge de la fonction metric(). La valeur de retour est censée être le résultat de la fonction encodeMetricF(). |
QPaintDevice::PdmDevicePixelRatioF_EncodedB (since Qt 6.8) | 14 | Voir PdmDevicePixelRatioF_EncodedA. |
Voir également metric() et devicePixelRatio().
Documentation des fonctions membres
[noexcept protected] QPaintDevice::QPaintDevice()
Construit un dispositif de peinture. Ce constructeur ne peut être invoqué que par les sous-classes de QPaintDevice.
[virtual noexcept] QPaintDevice::~QPaintDevice()
Détruit le périphérique de peinture et libère les ressources du système de fenêtres.
int QPaintDevice::colorCount() const
Renvoie le nombre de couleurs différentes disponibles pour le dispositif de peinture. Si le nombre de couleurs disponibles est trop important pour être représenté par le type de données int, INT_MAX sera renvoyé à la place.
int QPaintDevice::depth() const
Renvoie la profondeur de bits (nombre de plans de bits) du périphérique de peinture.
qreal QPaintDevice::devicePixelRatio() const
Renvoie le rapport de pixels de l'appareil.
Les valeurs courantes sont 1 pour les écrans à ppp normal et 2 pour les écrans "rétina" à ppp élevé.
qreal QPaintDevice::devicePixelRatioF() const
Renvoie le rapport de pixels du périphérique sous la forme d'un nombre à virgule flottante.
[static, since 6.8] int QPaintDevice::encodeMetricF(QPaintDevice::PaintDeviceMetric metric, double value)
Renvoie value encodé pour la métrique metric. Les sous-classes qui implémentent metric() doivent utiliser cette fonction pour coder
| Constante | Description |
|---|---|
as | une valeur de retour entière lorsque la métrique de la requête spécifie une valeur encodée en virgule flottante. |
Cette fonction a été introduite dans Qt 6.8.
int QPaintDevice::height() const
Renvoie la hauteur du dispositif de peinture dans les unités du système de coordonnées par défaut (par exemple, pixels pour QPixmap et QWidget).
Voir également heightMM().
int QPaintDevice::heightMM() const
Renvoie la hauteur du dispositif de peinture en millimètres. En raison des limitations de la plate-forme, il peut être impossible d'utiliser cette fonction pour déterminer la taille physique réelle d'un widget sur l'écran.
Voir également height().
int QPaintDevice::logicalDpiX() const
Renvoie la résolution horizontale du périphérique en points par pouce, utilisée pour calculer la taille des polices. Pour X11, cette résolution est généralement la même que celle qui pourrait être calculée à partir de widthMM().
Notez que si le logicalDpiX() n'est pas égal à physicalDpiX(), le QPaintEngine correspondant doit gérer la correspondance de la résolution.
Voir également logicalDpiY() et physicalDpiX().
int QPaintDevice::logicalDpiY() const
Renvoie la résolution verticale du périphérique en points par pouce, utilisée pour calculer la taille des polices. Pour X11, c'est généralement la même que celle qui pourrait être calculée à partir de heightMM().
Notez que si le logicalDpiY() n'est pas égal à physicalDpiY(), le QPaintEngine correspondant doit gérer le mappage de la résolution.
Voir également logicalDpiX() et physicalDpiY().
[virtual protected] int QPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const
Renvoie les informations métriques pour le périphérique de peinture donné metric.
Voir également PaintDeviceMetric.
[pure virtual] QPaintEngine *QPaintDevice::paintEngine() const
Renvoie un pointeur sur le moteur de peinture utilisé pour dessiner sur le périphérique.
bool QPaintDevice::paintingActive() const
Renvoie true si le périphérique est en train d'être peint, c'est-à-dire que quelqu'un a appelé QPainter::begin() mais pas encore QPainter::end() pour ce périphérique ; sinon, renvoie false.
Voir aussi QPainter::isActive().
int QPaintDevice::physicalDpiX() const
Renvoie la résolution horizontale de l'appareil en points par pouce. Par exemple, lors de l'impression, cette résolution fait référence à la résolution physique de l'imprimante. Le DPI logique, quant à lui, fait référence à la résolution utilisée par le moteur de peinture.
Notez que si la valeur de physicalDpiX() n'est pas égale à celle de logicalDpiX(), c'est la valeur correspondante de QPaintEngine qui doit prendre en charge la conversion de la résolution.
Voir également physicalDpiY() et logicalDpiX().
int QPaintDevice::physicalDpiY() const
Renvoie la résolution horizontale de l'appareil en points par pouce. Par exemple, lors de l'impression, cette résolution fait référence à la résolution physique de l'imprimante. Le DPI logique, quant à lui, fait référence à la résolution utilisée par le moteur de peinture.
Notez que si le PhysicalDpiY() n'est pas égal au logicalDpiY(), le QPaintEngine correspondant doit gérer le mappage de la résolution.
Voir également physicalDpiX() et logicalDpiY().
int QPaintDevice::width() const
Renvoie la largeur du dispositif de peinture dans les unités du système de coordonnées par défaut (par exemple, pixels pour QPixmap et QWidget).
Voir également widthMM().
int QPaintDevice::widthMM() const
Renvoie la largeur du dispositif de peinture en millimètres. En raison des limitations de la plate-forme, il peut être impossible d'utiliser cette fonction pour déterminer la taille physique réelle d'un widget sur l'écran.
Voir également width().
© 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.