QScreen Class
La classe QScreen est utilisée pour interroger les propriétés de l'écran. Plus d'informations...
| En-tête : | #include <QScreen> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Héritages : | QObject |
Propriétés
|
|
Fonctions publiques
| int | angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const |
| QRect | availableGeometry() const |
| QSize | availableSize() const |
| QRect | availableVirtualGeometry() const |
| QSize | availableVirtualSize() const |
| int | depth() const |
| qreal | devicePixelRatio() const |
| QRect | geometry() const |
| QPixmap | grabWindow(WId window = 0, int x = 0, int y = 0, int width = -1, int height = -1) |
| QPlatformScreen * | handle() const |
| bool | isLandscape(Qt::ScreenOrientation o) const |
| bool | isPortrait(Qt::ScreenOrientation o) const |
| qreal | logicalDotsPerInch() const |
| qreal | logicalDotsPerInchX() const |
| qreal | logicalDotsPerInchY() const |
| QString | manufacturer() const |
| QRect | mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const |
| QString | model() const |
| QString | name() const |
| QNativeInterface * | nativeInterface() const |
| Qt::ScreenOrientation | nativeOrientation() const |
| Qt::ScreenOrientation | orientation() const |
| qreal | physicalDotsPerInch() const |
| qreal | physicalDotsPerInchX() const |
| qreal | physicalDotsPerInchY() const |
| QSizeF | physicalSize() const |
| Qt::ScreenOrientation | primaryOrientation() const |
| qreal | refreshRate() const |
| QString | serialNumber() const |
| QSize | size() const |
| QTransform | transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const |
| QRect | virtualGeometry() const |
| QScreen * | virtualSiblingAt(QPoint point) |
| QList<QScreen *> | virtualSiblings() const |
| QSize | virtualSize() const |
Signaux
| void | availableGeometryChanged(const QRect &geometry) |
| void | geometryChanged(const QRect &geometry) |
| void | logicalDotsPerInchChanged(qreal dpi) |
| void | orientationChanged(Qt::ScreenOrientation orientation) |
| void | physicalDotsPerInchChanged(qreal dpi) |
| void | physicalSizeChanged(const QSizeF &size) |
| void | primaryOrientationChanged(Qt::ScreenOrientation orientation) |
| void | refreshRateChanged(qreal refreshRate) |
| void | virtualGeometryChanged(const QRect &rect) |
Description détaillée
Remarque sur les points par pouce logiques et physiques : les points par pouce physiques sont basés sur la taille physique réelle des pixels, lorsqu'elle est disponible. Ils sont utiles pour l'aperçu avant impression et dans d'autres cas où il est souhaitable de connaître les dimensions physiques exactes des contenus affichés à l'écran.
Les points logiques par pouce sont utilisés pour convertir les polices et les éléments de l'interface utilisateur de la taille des points à la taille des pixels, et peuvent être différents des points physiques par pouce. Les points par pouce logiques sont parfois réglables par l'utilisateur dans le panneau de configuration de l'environnement de bureau, afin de permettre à l'utilisateur de contrôler globalement la taille de l'interface utilisateur et des polices dans différentes applications.
Remarque : les DPI physiques et logiques sont exprimés en points indépendants de l'appareil. Multipliez par QScreen::devicePixelRatio() pour obtenir la densité dépendante du périphérique.
Pour obtenir un objet QScreen, utilisez QGuiApplication::primaryScreen() pour l'écran principal ou QGuiApplication::screens() pour obtenir une liste de tous les écrans.
Voir également QGuiApplication::primaryScreen() et QGuiApplication::screens().
Documentation sur les propriétés
[read-only] availableGeometry : QRect
Cette propriété indique la géométrie disponible de l'écran en pixels
La géométrie disponible est la géométrie qui exclut les zones réservées par le gestionnaire de fenêtres, telles que les barres de tâches et les menus système.
Remarque : sous X11, cette propriété ne renvoie la véritable géométrie disponible que sur les systèmes dotés d'un seul moniteur et si le gestionnaire de fenêtres a défini l'atome _NET_WORKAREA. Dans tous les autres cas, cette fonction est égale à geometry(). Il s'agit d'une limitation de la spécification du gestionnaire de fenêtres X11.
Fonctions d'accès :
| QRect | availableGeometry() const |
Signal Notificateur :
| void | availableGeometryChanged(const QRect &geometry) |
[read-only] availableSize : QSize
Cette propriété indique la taille disponible de l'écran en pixels
La taille disponible est la taille excluant les zones réservées du gestionnaire de fenêtres telles que les barres de tâches et les menus système.
Fonctions d'accès :
| QSize | availableSize() const |
Signal de notification :
| void | availableGeometryChanged(const QRect &geometry) |
[read-only] availableVirtualGeometry : QRect
Cette propriété contient la géométrie disponible du bureau virtuel auquel appartient cet écran
Renvoie la géométrie disponible du bureau virtuel correspondant à cet écran.
Il s'agit de l'union des géométries disponibles individuelles des frères et sœurs virtuels.
Fonctions d'accès :
| QRect | availableVirtualGeometry() const |
Signal de notification :
| void | virtualGeometryChanged(const QRect &rect) |
Voir aussi availableGeometry() et virtualSiblings().
[read-only] availableVirtualSize : QSize
Cette propriété contient la taille disponible du bureau virtuel auquel appartient cet écran
Renvoie la taille en pixels disponible du bureau virtuel correspondant à cet écran.
Il s'agit de la taille combinée des géométries individuelles disponibles des frères et sœurs virtuels.
Fonctions d'accès :
| QSize | availableVirtualSize() const |
Signal de notification :
| void | virtualGeometryChanged(const QRect &rect) |
Voir aussi availableSize() et virtualSiblings().
[read-only] depth : const int
Cette propriété indique la profondeur de couleur de l'écran
Fonctions d'accès :
| int | depth() const |
[read-only] devicePixelRatio : qreal
Cette propriété indique le rapport entre les pixels physiques et les pixels indépendants du périphérique de l'écran
Renvoie le rapport entre les pixels physiques et les pixels indépendants du périphérique pour l'écran.
Cette fonction peut renvoyer une valeur différente de QWindow::devicePixelRatio(), par exemple sur Wayland lors de l'utilisation d'une mise à l'échelle fractionnaire, ou si les propriétés de la fenêtre qui affectent la résolution de la surface sont définies. Il est préférable d'utiliser QWindow::devicePixelRatio().
Remarque : sur certaines plateformes, le devicePixelRatio d'une fenêtre et de l'écran sur lequel elle se trouve peut être différent. N'utilisez cette fonction que si vous ne savez pas quelle fenêtre vous ciblez. Si vous connaissez la fenêtre cible, utilisez plutôt QWindow::devicePixelRatio().
Fonctions d'accès :
| qreal | devicePixelRatio() const |
Signal du notificateur :
| void | physicalDotsPerInchChanged(qreal dpi) |
Voir aussi QWindow::devicePixelRatio() et QGuiApplication::devicePixelRatio().
[read-only] geometry : QRect
Cette propriété contient la géométrie de l'écran en pixels
Par exemple, cette propriété peut renvoyer QRect(0, 0, 1280, 1024) ou, dans le cas d'un bureau virtuel, QRect(1280, 0, 1280, 1024).
Fonctions d'accès :
| QRect | geometry() const |
Signal de notification :
| void | geometryChanged(const QRect &geometry) |
[read-only] logicalDotsPerInch : qreal
Cette propriété contient le nombre de points logiques ou de pixels par pouce
Cette valeur peut être utilisée pour convertir la taille des points des polices en taille des pixels.
Il s'agit d'une propriété de commodité qui correspond simplement à la moyenne des propriétés logicalDotsPerInchX et logicalDotsPerInchY.
Fonctions d'accès :
| qreal | logicalDotsPerInch() const |
Signal Notifier :
| void | logicalDotsPerInchChanged(qreal dpi) |
Voir aussi logicalDotsPerInchX() et logicalDotsPerInchY().
[read-only] logicalDotsPerInchX : qreal
Cette propriété contient le nombre de points logiques ou de pixels par pouce dans le sens horizontal
Cette valeur est utilisée pour convertir la taille des points des polices en taille des pixels.
Fonctions d'accès :
| qreal | logicalDotsPerInchX() const |
Signal Notifier :
| void | logicalDotsPerInchChanged(qreal dpi) |
Voir aussi logicalDotsPerInchY().
[read-only] logicalDotsPerInchY : qreal
Cette propriété indique le nombre de points logiques ou de pixels par pouce dans le sens vertical
Cette valeur est utilisée pour convertir la taille des points des polices en taille des pixels.
Fonctions d'accès :
| qreal | logicalDotsPerInchY() const |
Signal Notifier :
| void | logicalDotsPerInchChanged(qreal dpi) |
Voir aussi logicalDotsPerInchX().
[read-only] manufacturer : const QString
Cette propriété contient le fabricant de l'écran
Fonctions d'accès :
| QString | manufacturer() const |
[read-only] model : const QString
Cette propriété contient le modèle de l'écran
Fonctions d'accès :
| QString | model() const |
[read-only] name : const QString
Cette propriété contient une chaîne de caractères présentable par l'utilisateur et représentant l'écran
Par exemple, sur X11, cela correspond aux noms d'écran XRandr, typiquement "VGA1", "HDMI1", etc.
Remarque : il n'est pas garanti que la chaîne présentable par l'utilisateur corresponde au résultat d'une API native et elle ne doit pas être utilisée pour identifier un écran de manière unique.
Fonctions d'accès :
| QString | name() const |
[read-only] nativeOrientation : Qt::ScreenOrientation
Cette propriété contient l'orientation native de l'écran
L'orientation native de l'écran est l'orientation dans laquelle le logo autocollant de l'appareil apparaît dans le bon sens, ou Qt::PrimaryOrientation si la plateforme ne prend pas en charge cette fonctionnalité.
L'orientation native est une propriété du matériel et ne change pas.
Fonctions d'accès :
| Qt::ScreenOrientation | nativeOrientation() const |
[read-only] orientation : Qt::ScreenOrientation
Cette propriété indique l'orientation de l'écran
La propriété orientation indique l'orientation de l'écran du point de vue du système de fenêtres.
La plupart des appareils mobiles et des tablettes contiennent des capteurs d'accéléromètre. Le module Qt Sensors permet de lire directement ce capteur. Toutefois, le système de fenêtrage peut faire pivoter automatiquement l'ensemble de l'écran en fonction de la manière dont il est tenu ; dans ce cas, la propriété orientation sera modifiée.
Fonctions d'accès :
| Qt::ScreenOrientation | orientation() const |
Signal de notification :
| void | orientationChanged(Qt::ScreenOrientation orientation) |
Voir également primaryOrientation() et QWindow::contentOrientation().
[read-only] physicalDotsPerInch : qreal
Cette propriété contient le nombre de points physiques ou de pixels par pouce
Cette valeur représente la densité des pixels sur l'écran. En fonction des informations fournies par le système sous-jacent, cette valeur peut ne pas être tout à fait exacte.
Il s'agit d'une propriété de commodité qui correspond simplement à la moyenne des propriétés physicalDotsPerInchX et physicalDotsPerInchY.
Remarque : le DPI physique est exprimé en points indépendants du périphérique. Multiplier par QScreen::devicePixelRatio() pour obtenir la densité dépendante de l'appareil.
Fonctions d'accès :
| qreal | physicalDotsPerInch() const |
Signal de notification :
| void | physicalDotsPerInchChanged(qreal dpi) |
Voir aussi physicalDotsPerInchX() et physicalDotsPerInchY().
[read-only] physicalDotsPerInchX : qreal
Cette propriété contient le nombre de points physiques ou de pixels par pouce dans la direction horizontale
Cette valeur représente la densité horizontale réelle des pixels sur l'écran. En fonction des informations fournies par le système sous-jacent, cette valeur peut ne pas être tout à fait exacte.
Remarque : le DPI physique est exprimé en points indépendants du périphérique. Multiplier par QScreen::devicePixelRatio() pour obtenir la densité dépendante du périphérique.
Fonctions d'accès :
| qreal | physicalDotsPerInchX() const |
Signal de notification :
| void | physicalDotsPerInchChanged(qreal dpi) |
Voir aussi physicalDotsPerInchY().
[read-only] physicalDotsPerInchY : qreal
Cette propriété contient le nombre de points physiques ou de pixels par pouce dans le sens vertical
Cette valeur représente la densité verticale réelle des pixels sur l'écran. En fonction des informations fournies par le système sous-jacent, cette valeur peut ne pas être tout à fait exacte.
Remarque : le DPI physique est exprimé en points indépendants du périphérique. Multipliez par QScreen::devicePixelRatio() pour obtenir la densité dépendante du périphérique.
Fonctions d'accès :
| qreal | physicalDotsPerInchY() const |
Signal de notification :
| void | physicalDotsPerInchChanged(qreal dpi) |
Voir aussi physicalDotsPerInchX().
[read-only] physicalSize : QSizeF
Cette propriété contient la taille physique de l'écran (en millimètres)
La taille physique représente les dimensions physiques réelles de l'affichage de l'écran.
En fonction des informations fournies par le système sous-jacent, la valeur peut ne pas être tout à fait exacte.
Fonctions d'accès :
| QSizeF | physicalSize() const |
Signal de notification :
| void | physicalSizeChanged(const QSizeF &size) |
[read-only] primaryOrientation : Qt::ScreenOrientation
Cette propriété contient l'orientation primaire de l'écran
L'orientation primaire de l'écran est Qt::LandscapeOrientation si la largeur de la géométrie de l'écran est supérieure ou égale à sa hauteur, ou Qt::PortraitOrientation dans le cas contraire. Cette propriété peut changer lorsque l'orientation de l'écran a été modifiée (c'est-à-dire lorsque l'affichage est pivoté). Le comportement dépend toutefois de la plate-forme et peut souvent être spécifié dans un fichier manifeste de l'application.
Fonctions d'accès :
| Qt::ScreenOrientation | primaryOrientation() const |
Signal Notificateur :
| void | primaryOrientationChanged(Qt::ScreenOrientation orientation) |
[read-only] refreshRate : qreal
Cette propriété indique le taux de rafraîchissement vertical approximatif de l'écran en Hz.
Attention : Évitez d'utiliser le taux de rafraîchissement de l'écran pour piloter des animations à l'aide d'une minuterie telle que QChronoTimer. Utilisez plutôt QWindow::requestUpdate().
Fonctions d'accès :
| qreal | refreshRate() const |
Signal de notification :
| void | refreshRateChanged(qreal refreshRate) |
Voir aussi QWindow::requestUpdate().
[read-only] serialNumber : const QString
Cette propriété contient le numéro de série de l'écran
Fonctions d'accès :
| QString | serialNumber() const |
[read-only] size : QSize
Cette propriété contient la résolution en pixels de l'écran
Fonctions d'accès :
| QSize | size() const |
Signal de notification :
| void | geometryChanged(const QRect &geometry) |
[read-only] virtualGeometry : QRect
Cette propriété contient la géométrie en pixels du bureau virtuel auquel appartient cet écran
Renvoie la géométrie en pixels du bureau virtuel correspondant à cet écran.
Il s'agit de l'union des géométries individuelles des frères et sœurs virtuels.
Fonctions d'accès :
| QRect | virtualGeometry() const |
Signal de notification :
| void | virtualGeometryChanged(const QRect &rect) |
Voir aussi virtualSiblings().
[read-only] virtualSize : QSize
Cette propriété contient la taille en pixels du bureau virtuel auquel appartient cet écran
Renvoie la taille en pixels du bureau virtuel correspondant à cet écran.
Il s'agit de la taille combinée des géométries individuelles des frères et sœurs virtuels.
Fonctions d'accès :
| QSize | virtualSize() const |
Signal de notification :
| void | virtualGeometryChanged(const QRect &rect) |
Voir aussi virtualSiblings().
Documentation des fonctions membres
int QScreen::angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const
Fonction pratique permettant de calculer l'angle de rotation pour passer de la rotation a à la rotation b.
Le résultat sera 0, 90, 180 ou 270.
Qt::PrimaryOrientation est interprété comme le primaryOrientation() de l'écran.
QPixmap QScreen::grabWindow(WId window = 0, int x = 0, int y = 0, int width = -1, int height = -1)
Crée et renvoie une pixmap construite en saisissant le contenu du site window restreint par QRect(x, y, width, height). Si window vaut 0, tout l'écran sera saisi.
Les arguments (x, y) spécifient le décalage dans la fenêtre, tandis que (width, height) spécifient la zone à copier. Si width est négatif, la fonction copie tout jusqu'au bord droit de la fenêtre. Si height est négatif, la fonction copie tout en bas de la fenêtre.
Les arguments offset et size sont spécifiés en pixels indépendants du périphérique. La pixmap renvoyée peut être plus grande que la taille demandée si elle est extraite d'un écran à haute résolution. Appelez QPixmap::devicePixelRatio() pour déterminer si c'est le cas.
L'identifiant du système de fenêtres (WId) peut être récupéré à l'aide de la fonction QWidget::winId(). L'utilisation d'un identificateur de fenêtre et non d'un QWidget, se justifie par le fait qu'elle permet de saisir des fenêtres qui ne font pas partie de l'application, des cadres du système de fenêtres, etc.
Attention : La saisie de fenêtres qui ne font pas partie de l'application n'est pas prise en charge sur des systèmes tels qu'iOS, où le bac à sable/la sécurité empêche la lecture des pixels des fenêtres qui n'appartiennent pas à l'application.
La fonction grabWindow() récupère des pixels de l'écran, et non de la fenêtre, c'est-à-dire que s'il y a une autre fenêtre partiellement ou entièrement au-dessus de celle que vous récupérez, vous récupérez aussi les pixels de la fenêtre qui la recouvre. Le curseur de la souris n'est généralement pas capturé.
Notez que sur X11, si le site window n'a pas la même profondeur que la fenêtre racine, et qu'une autre fenêtre obscurcit partiellement ou entièrement celle que vous saisissez, vous n' obtiendrez pas les pixels de la fenêtre qui la recouvre. Le contenu des zones obscurcies dans la pixmap sera indéfini et non initialisé.
Sous Windows Vista et les versions ultérieures, la saisie d'une fenêtre superposée, qui est créée en définissant l'attribut Qt::WA_TranslucentBackground, ne fonctionnera pas. En revanche, la saisie du widget du bureau devrait fonctionner.
Attention : En général, la saisie d'une zone en dehors de l'écran n'est pas sûre. Cela dépend du système de fenêtres sous-jacent.
QPlatformScreen *QScreen::handle() const
Obtenir le gestionnaire d'écran de la plate-forme.
Voir aussi Qt Platform Abstraction (QPA).
bool QScreen::isLandscape(Qt::ScreenOrientation o) const
Fonction de commodité qui renvoie true si o est un paysage ou un paysage inversé ; sinon, elle renvoie false.
Qt::PrimaryOrientation est interprété comme le primaryOrientation() de l'écran.
bool QScreen::isPortrait(Qt::ScreenOrientation o) const
Fonction de commodité qui renvoie true si o est un portrait ou un portrait inversé ; sinon, elle renvoie false.
Qt::PrimaryOrientation est interprété comme le primaryOrientation() de l'écran.
QRect QScreen::mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const
Permet de faire correspondre le rectangle entre deux orientations de l'écran.
Les dimensions x et y du rectangle rect seront inversées si l'orientation a est Qt::PortraitOrientation ou Qt::InvertedPortraitOrientation et si l'orientation b est Qt::LandscapeOrientation ou Qt::InvertedLandscapeOrientation, ou vice versa.
Qt::PrimaryOrientation est interprété comme l'orientation de l'écran primaryOrientation().
template <typename QNativeInterface> QNativeInterface *QScreen::nativeInterface() const
Renvoie une interface native du type donné pour l'écran.
Cette fonction permet d'accéder aux fonctionnalités spécifiques à la plate-forme QScreen, telles que définies dans l'espace de noms QNativeInterface:
Interface native d'un écran | |
Interface native d'un écran sur macOS | |
Interface native d'un écran sur Wayland | |
Interface native avec un écran |
Si l'interface demandée n'est pas disponible, une adresse nullptr est renvoyée.
[signal] void QScreen::orientationChanged(Qt::ScreenOrientation orientation)
Ce signal est émis lorsque l'orientation de l'écran change avec orientation comme argument.
Note : Signal de notification pour la propriété orientation.
Voir également orientation().
[signal] void QScreen::primaryOrientationChanged(Qt::ScreenOrientation orientation)
Ce signal est émis lorsque l'orientation primaire de l'écran change avec orientation comme argument.
Note : Signal de notification pour la propriété primaryOrientation.
Voir également primaryOrientation().
QTransform QScreen::transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const
Fonction de commodité pour calculer une transformation qui permet de passer du système de coordonnées défini par l'orientation a au système de coordonnées défini par l'orientation b et les dimensions cibles target.
Exemple, a est Qt::Landscape, b est Qt::Portrait, et target est QRect(0, 0, w, h) la transformation résultante sera telle que le point QPoint(0, 0) est mappé à QPoint(0, w), et QPoint(h, w) est mappé à QPoint(0, h). Ainsi, le système de coordonnées paysage QRect(0, 0, h, w) est représenté (avec une rotation de 90 degrés) dans le système de coordonnées portrait QRect(0, 0, w, h).
Qt::PrimaryOrientation est interprété comme le primaryOrientation() de l'écran.
QScreen *QScreen::virtualSiblingAt(QPoint point)
Renvoie l'écran à point dans l'ensemble de QScreen::virtualSiblings(), ou nullptr s'il n'y a pas d'écran.
L'adresse point est en relation avec l'adresse virtualGeometry() de chaque ensemble de frères et sœurs virtuels.
QList<QScreen *> QScreen::virtualSiblings() const
Obtenir les frères et sœurs virtuels de l'écran.
Les frères et sœurs virtuels sont les instances d'écran qui partagent le même bureau virtuel. Ils partagent un système de coordonnées commun et les fenêtres peuvent être librement déplacées ou positionnées sans avoir à être recréées.
© 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.