Sur cette page

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:

QNativeInterface::QAndroidScreen

Interface native d'un écran

QNativeInterface::QCocoaScreen

Interface native d'un écran sur macOS

QNativeInterface::QWaylandScreen

Interface native d'un écran sur Wayland

QNativeInterface::QWindowsScreen

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.