QScreen#
The QScreen
class is used to query screen properties. More…
Synopsis#
Properties#
availableGeometry
- The screen’s available geometry in pixelsavailableSize
- The screen’s available size in pixelsavailableVirtualGeometry
- The available geometry of the virtual desktop to which this screen belongsavailableVirtualSize
- The available size of the virtual desktop to which this screen belongsdepth
- The color depth of the screendevicePixelRatio
- The screen’s ratio between physical pixels and device-independent pixelsgeometry
- The screen’s geometry in pixelslogicalDotsPerInch
- The number of logical dots or pixels per inchlogicalDotsPerInchX
- The number of logical dots or pixels per inch in the horizontal directionlogicalDotsPerInchY
- The number of logical dots or pixels per inch in the vertical directionmanufacturer
- The manufacturer of the screenmodel
- The model of the screenname
- User presentable string representing the screennativeOrientation
- The native screen orientationorientation
- The screen orientationphysicalDotsPerInch
- The number of physical dots or pixels per inchphysicalDotsPerInchX
- The number of physical dots or pixels per inch in the horizontal directionphysicalDotsPerInchY
- The number of physical dots or pixels per inch in the vertical directionphysicalSize
- The screen’s physical size (in millimeters)primaryOrientation
- The primary screen orientationrefreshRate
- The approximate vertical refresh rate of the screen in HzserialNumber
- The serial number of the screensize
- The pixel resolution of the screenvirtualGeometry
- The pixel geometry of the virtual desktop to which this screen belongsvirtualSize
- The pixel size of the virtual desktop to which this screen belongs
Functions#
def
angleBetween
(a, b)def
availableGeometry
()def
availableSize
()def
availableVirtualGeometry
()def
availableVirtualSize
()def
depth
()def
devicePixelRatio
()def
geometry
()def
grabWindow
([window=0[, x=0[, y=0[, w=-1[, h=-1]]]]])def
isLandscape
(orientation)def
isPortrait
(orientation)def
logicalDotsPerInch
()def
logicalDotsPerInchX
()def
logicalDotsPerInchY
()def
manufacturer
()def
mapBetween
(a, b, rect)def
model
()def
name
()def
nativeOrientation
()def
orientation
()def
physicalDotsPerInch
()def
physicalDotsPerInchX
()def
physicalDotsPerInchY
()def
physicalSize
()def
primaryOrientation
()def
refreshRate
()def
resolveInterface
(name, revision)def
serialNumber
()def
size
()def
transformBetween
(a, b, target)def
virtualGeometry
()def
virtualSiblingAt
(point)def
virtualSiblings
()def
virtualSize
()
Signals#
def
availableGeometryChanged
(geometry)def
geometryChanged
(geometry)def
logicalDotsPerInchChanged
(dpi)def
orientationChanged
(orientation)def
physicalDotsPerInchChanged
(dpi)def
physicalSizeChanged
(size)def
primaryOrientationChanged
(orientation)def
refreshRateChanged
(refreshRate)def
virtualGeometryChanged
(rect)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
A note on logical vs physical dots per inch: physical DPI is based on the actual physical pixel sizes when available, and is useful for print preview and other cases where it’s desirable to know the exact physical dimensions of screen displayed contents.
Logical dots per inch are used to convert font and user interface elements from point sizes to pixel sizes, and might be different from the physical dots per inch. The logical dots per inch are sometimes user-settable in the desktop environment’s settings panel, to let the user globally control UI and font sizes in different applications.
Note
Both physical and logical DPI are expressed in device-independent dots. Multiply by devicePixelRatio()
to get device-dependent density.
- class PySide6.QtGui.QScreen#
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
- property PᅟySide6.QtGui.QScreen.availableGeometry: PySide6.QtCore.QRect#
This property holds the screen’s available geometry in pixels.
The available geometry is the geometry excluding window manager reserved areas such as task bars and system menus.
Note, on X11 this will return the true available geometry only on systems with one monitor and if window manager has set _NET_WORKAREA atom. In all other cases this is equal to geometry()
. This is a limitation in X11 window manager specification.
- Access functions:
Signal
availableGeometryChanged
(geometry)
- property PᅟySide6.QtGui.QScreen.availableSize: PySide6.QtCore.QSize#
This property holds the screen’s available size in pixels.
The available size is the size excluding window manager reserved areas such as task bars and system menus.
- Access functions:
Signal
availableGeometryChanged
(geometry)
- property PᅟySide6.QtGui.QScreen.availableVirtualGeometry: PySide6.QtCore.QRect#
This property holds the available geometry of the virtual desktop to which this screen belongs.
Returns the available geometry of the virtual desktop corresponding to this screen.
This is the union of the virtual siblings’ individual available geometries.
See also
- Access functions:
Signal
virtualGeometryChanged
(rect)
- property PᅟySide6.QtGui.QScreen.availableVirtualSize: PySide6.QtCore.QSize#
This property holds the available size of the virtual desktop to which this screen belongs.
Returns the available pixel size of the virtual desktop corresponding to this screen.
This is the combined size of the virtual siblings’ individual available geometries.
See also
- Access functions:
Signal
virtualGeometryChanged
(rect)
- property PᅟySide6.QtGui.QScreen.depth: int#
This property holds the color depth of the screen.
- Access functions:
depth
()
- property PᅟySide6.QtGui.QScreen.devicePixelRatio: float#
This property holds the screen’s ratio between physical pixels and device-independent pixels.
Returns the ratio between physical pixels and device-independent pixels for the screen.
Common values are 1.0 on normal displays and 2.0 on “retina” displays. Higher values are also possible.
See also
- Access functions:
Signal
physicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.geometry: PySide6.QtCore.QRect#
This property holds the screen’s geometry in pixels.
As an example this might return QRect
(0, 0, 1280, 1024), or in a virtual desktop setting QRect
(1280, 0, 1280, 1024).
- Access functions:
geometry
()Signal
geometryChanged
(geometry)
- property PᅟySide6.QtGui.QScreen.logicalDotsPerInch: float#
This property holds the number of logical dots or pixels per inch.
This value can be used to convert font point sizes to pixel sizes.
This is a convenience property that’s simply the average of the logicalDotsPerInchX
and logicalDotsPerInchY
properties.
- Access functions:
Signal
logicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.logicalDotsPerInchX: float#
This property holds the number of logical dots or pixels per inch in the horizontal direction.
This value is used to convert font point sizes to pixel sizes.
See also
- Access functions:
Signal
logicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.logicalDotsPerInchY: float#
This property holds the number of logical dots or pixels per inch in the vertical direction.
This value is used to convert font point sizes to pixel sizes.
See also
- Access functions:
Signal
logicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.manufacturer: str#
This property holds the manufacturer of the screen.
- Access functions:
manufacturer
()
- property PᅟySide6.QtGui.QScreen.model: str#
This property holds the model of the screen.
- Access functions:
model
()
- property PᅟySide6.QtGui.QScreen.name: str#
This property holds a user presentable string representing the screen.
For example, on X11 these correspond to the XRandr screen names, typically “VGA1”, “HDMI1”, etc.
Note
The user presentable string is not guaranteed to match the result of any native APIs, and should not be used to uniquely identify a screen.
- Access functions:
name
()
- property PᅟySide6.QtGui.QScreen.nativeOrientation: ScreenOrientation#
This property holds the native screen orientation.
The native orientation of the screen is the orientation where the logo sticker of the device appears the right way up, or PrimaryOrientation
if the platform does not support this functionality.
The native orientation is a property of the hardware, and does not change.
- Access functions:
- property PᅟySide6.QtGui.QScreen.orientation: ScreenOrientation#
This property holds the screen orientation.
The orientation
property tells the orientation of the screen from the window system perspective.
Most mobile devices and tablet computers contain accelerometer sensors. The Qt Sensors module provides the ability to read this sensor directly. However, the windowing system may rotate the entire screen automatically based on how it is being held; in that case, this orientation
property will change.
See also
- Access functions:
orientation
()Signal
orientationChanged
(orientation)
- property PᅟySide6.QtGui.QScreen.physicalDotsPerInch: float#
This property holds the number of physical dots or pixels per inch.
This value represents the pixel density on the screen’s display. Depending on what information the underlying system provides the value might not be entirely accurate.
This is a convenience property that’s simply the average of the physicalDotsPerInchX
and physicalDotsPerInchY
properties.
Note
Physical DPI is expressed in device-independent dots. Multiply by devicePixelRatio()
to get device-dependent density.
- Access functions:
Signal
physicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.physicalDotsPerInchX: float#
This property holds the number of physical dots or pixels per inch in the horizontal direction.
This value represents the actual horizontal pixel density on the screen’s display. Depending on what information the underlying system provides the value might not be entirely accurate.
Note
Physical DPI is expressed in device-independent dots. Multiply by devicePixelRatio()
to get device-dependent density.
See also
- Access functions:
Signal
physicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.physicalDotsPerInchY: float#
This property holds the number of physical dots or pixels per inch in the vertical direction.
This value represents the actual vertical pixel density on the screen’s display. Depending on what information the underlying system provides the value might not be entirely accurate.
Note
Physical DPI is expressed in device-independent dots. Multiply by devicePixelRatio()
to get device-dependent density.
See also
- Access functions:
Signal
physicalDotsPerInchChanged
(dpi)
- property PᅟySide6.QtGui.QScreen.physicalSize: PySide6.QtCore.QSizeF#
This property holds the screen’s physical size (in millimeters).
The physical size represents the actual physical dimensions of the screen’s display.
Depending on what information the underlying system provides the value might not be entirely accurate.
- Access functions:
physicalSize
()Signal
physicalSizeChanged
(size)
- property PᅟySide6.QtGui.QScreen.primaryOrientation: ScreenOrientation#
This property holds the primary screen orientation.
The primary screen orientation is LandscapeOrientation
if the screen geometry’s width is greater than or equal to its height, or PortraitOrientation
otherwise. This property might change when the screen orientation was changed (i.e. when the display is rotated). The behavior is however platform dependent and can often be specified in an application manifest file.
- Access functions:
Signal
primaryOrientationChanged
(orientation)
- property PᅟySide6.QtGui.QScreen.refreshRate: float#
This property holds the approximate vertical refresh rate of the screen in Hz.
Warning
Avoid using the screen’s refresh rate to drive animations via a timer such as QTimer
. Instead use requestUpdate()
.
See also
- Access functions:
refreshRate
()Signal
refreshRateChanged
(refreshRate)
- property PᅟySide6.QtGui.QScreen.serialNumber: str#
This property holds the serial number of the screen.
- Access functions:
serialNumber
()
- property PᅟySide6.QtGui.QScreen.size: PySide6.QtCore.QSize#
This property holds the pixel resolution of the screen.
- Access functions:
size
()Signal
geometryChanged
(geometry)
- property PᅟySide6.QtGui.QScreen.virtualGeometry: PySide6.QtCore.QRect#
This property holds the pixel geometry of the virtual desktop to which this screen belongs.
Returns the pixel geometry of the virtual desktop corresponding to this screen.
This is the union of the virtual siblings’ individual geometries.
See also
- Access functions:
Signal
virtualGeometryChanged
(rect)
- property PᅟySide6.QtGui.QScreen.virtualSize: PySide6.QtCore.QSize#
This property holds the pixel size of the virtual desktop to which this screen belongs.
Returns the pixel size of the virtual desktop corresponding to this screen.
This is the combined size of the virtual siblings’ individual geometries.
See also
- Access functions:
virtualSize
()Signal
virtualGeometryChanged
(rect)
- PySide6.QtGui.QScreen.angleBetween(a, b)#
- Parameters:
- Return type:
int
Convenience function to compute the angle of rotation to get from rotation a
to rotation b
.
The result will be 0, 90, 180, or 270.
PrimaryOrientation
is interpreted as the screen’s primaryOrientation()
.
- PySide6.QtGui.QScreen.availableGeometry()#
- Return type:
Getter of property availableGeometry
.
- PySide6.QtGui.QScreen.availableGeometryChanged(geometry)#
- Parameters:
geometry –
PySide6.QtCore.QRect
Notification signal of property availableSize
.
- PySide6.QtGui.QScreen.availableSize()#
- Return type:
Getter of property availableSize
.
- PySide6.QtGui.QScreen.availableVirtualGeometry()#
- Return type:
Getter of property availableVirtualGeometry
.
- PySide6.QtGui.QScreen.availableVirtualSize()#
- Return type:
Getter of property availableVirtualSize
.
- PySide6.QtGui.QScreen.depth()#
- Return type:
int
Getter of property depth
.
- PySide6.QtGui.QScreen.devicePixelRatio()#
- Return type:
float
Getter of property devicePixelRatio
.
- PySide6.QtGui.QScreen.geometry()#
- Return type:
Getter of property geometry
.
- PySide6.QtGui.QScreen.geometryChanged(geometry)#
- Parameters:
geometry –
PySide6.QtCore.QRect
Notification signal of property size
.
- PySide6.QtGui.QScreen.grabWindow([window=0[, x=0[, y=0[, w=-1[, h=-1]]]]])#
- Parameters:
window –
WId
x – int
y – int
w – int
h – int
- Return type:
Creates and returns a pixmap constructed by grabbing the contents of the given window
restricted by QRect
(x
, y
, width
, height
). If window
is 0, then the entire screen will be grabbed.
The arguments (x
, y
) specify the offset in the window, whereas (width
, height
) specify the area to be copied. If width
is negative, the function copies everything to the right border of the window. If height
is negative, the function copies everything to the bottom of the window.
The offset and size arguments are specified in device independent pixels. The returned pixmap may be larger than the requested size when grabbing from a high-DPI screen. Call devicePixelRatio()
to determine if this is the case.
The window system identifier (WId
) can be retrieved using the winId()
function. The rationale for using a window identifier and not a QWidget
, is to enable grabbing of windows that are not part of the application, window system frames, and so on.
Warning
Grabbing windows that are not part of the application is not supported on systems such as iOS, where sandboxing/security prevents reading pixels of windows not owned by the application.
The grabWindow() function grabs pixels from the screen, not from the window, i.e. if there is another window partially or entirely over the one you grab, you get pixels from the overlying window, too. The mouse cursor is generally not grabbed.
Note on X11 that if the given window
doesn’t have the same depth as the root window, and another window partially or entirely obscures the one you grab, you will not get pixels from the overlying window. The contents of the obscured areas in the pixmap will be undefined and uninitialized.
On Windows Vista and above grabbing a layered window, which is created by setting the WA_TranslucentBackground
attribute, will not work. Instead grabbing the desktop widget should work.
Warning
In general, grabbing an area outside the screen is not safe. This depends on the underlying window system.
- PySide6.QtGui.QScreen.isLandscape(orientation)#
- Parameters:
orientation –
ScreenOrientation
- Return type:
bool
Convenience function that returns true
if o
is either landscape or inverted landscape; otherwise returns false
.
PrimaryOrientation
is interpreted as the screen’s primaryOrientation()
.
- PySide6.QtGui.QScreen.isPortrait(orientation)#
- Parameters:
orientation –
ScreenOrientation
- Return type:
bool
Convenience function that returns true
if o
is either portrait or inverted portrait; otherwise returns false
.
PrimaryOrientation
is interpreted as the screen’s primaryOrientation()
.
- PySide6.QtGui.QScreen.logicalDotsPerInch()#
- Return type:
float
Getter of property logicalDotsPerInch
.
- PySide6.QtGui.QScreen.logicalDotsPerInchChanged(dpi)#
- Parameters:
dpi – float
Notification signal of property logicalDotsPerInchX
.
- PySide6.QtGui.QScreen.logicalDotsPerInchX()#
- Return type:
float
Getter of property logicalDotsPerInchX
.
- PySide6.QtGui.QScreen.logicalDotsPerInchY()#
- Return type:
float
Getter of property logicalDotsPerInchY
.
- PySide6.QtGui.QScreen.manufacturer()#
- Return type:
str
Getter of property manufacturer
.
- PySide6.QtGui.QScreen.mapBetween(a, b, rect)#
- Parameters:
rect –
PySide6.QtCore.QRect
- Return type:
Maps the rect between two screen orientations.
This will flip the x and y dimensions of the rectangle rect
if the orientation a
is PortraitOrientation
or InvertedPortraitOrientation
and orientation b
is LandscapeOrientation
or InvertedLandscapeOrientation
, or vice versa.
PrimaryOrientation
is interpreted as the screen’s primaryOrientation()
.
- PySide6.QtGui.QScreen.model()#
- Return type:
str
Getter of property model
.
- PySide6.QtGui.QScreen.name()#
- Return type:
str
Getter of property name
.
- PySide6.QtGui.QScreen.nativeOrientation()#
- Return type:
Getter of property nativeOrientation
.
- PySide6.QtGui.QScreen.orientation()#
- Return type:
Getter of property orientation
.
- PySide6.QtGui.QScreen.orientationChanged(orientation)#
- Parameters:
orientation –
ScreenOrientation
This signal is emitted when the orientation of the screen changes with orientation
as an argument.
See also
Notification signal of property orientation
.
- PySide6.QtGui.QScreen.physicalDotsPerInch()#
- Return type:
float
Getter of property physicalDotsPerInch
.
- PySide6.QtGui.QScreen.physicalDotsPerInchChanged(dpi)#
- Parameters:
dpi – float
Notification signal of property physicalDotsPerInchX
.
- PySide6.QtGui.QScreen.physicalDotsPerInchX()#
- Return type:
float
Getter of property physicalDotsPerInchX
.
- PySide6.QtGui.QScreen.physicalDotsPerInchY()#
- Return type:
float
Getter of property physicalDotsPerInchY
.
- PySide6.QtGui.QScreen.physicalSize()#
- Return type:
Getter of property physicalSize
.
- PySide6.QtGui.QScreen.physicalSizeChanged(size)#
- Parameters:
size –
PySide6.QtCore.QSizeF
Notification signal of property physicalSize
.
- PySide6.QtGui.QScreen.primaryOrientation()#
- Return type:
Getter of property primaryOrientation
.
- PySide6.QtGui.QScreen.primaryOrientationChanged(orientation)#
- Parameters:
orientation –
ScreenOrientation
This signal is emitted when the primary orientation of the screen changes with orientation
as an argument.
See also
Notification signal of property primaryOrientation
.
- PySide6.QtGui.QScreen.refreshRate()#
- Return type:
float
Getter of property refreshRate
.
- PySide6.QtGui.QScreen.refreshRateChanged(refreshRate)#
- Parameters:
refreshRate – float
Notification signal of property refreshRate
.
- PySide6.QtGui.QScreen.resolveInterface(name, revision)#
- Parameters:
name – str
revision – int
- Return type:
void
- PySide6.QtGui.QScreen.serialNumber()#
- Return type:
str
Getter of property serialNumber
.
- PySide6.QtGui.QScreen.size()#
- Return type:
Getter of property size
.
- PySide6.QtGui.QScreen.transformBetween(a, b, target)#
- Parameters:
target –
PySide6.QtCore.QRect
- Return type:
Convenience function to compute a transform that maps from the coordinate system defined by orientation a
into the coordinate system defined by orientation b
and target dimensions target
.
Example, a
is Qt::Landscape, b
is Qt::Portrait, and target
is QRect
(0, 0, w, h) the resulting transform will be such that the point QPoint
(0, 0) is mapped to QPoint
(0, w), and QPoint
(h, w) is mapped to QPoint
(0, h). Thus, the landscape coordinate system QRect
(0, 0, h, w) is mapped (with a 90 degree rotation) into the portrait coordinate system QRect
(0, 0, w, h).
PrimaryOrientation
is interpreted as the screen’s primaryOrientation()
.
- PySide6.QtGui.QScreen.virtualGeometry()#
- Return type:
Getter of property virtualGeometry
.
- PySide6.QtGui.QScreen.virtualGeometryChanged(rect)#
- Parameters:
rect –
PySide6.QtCore.QRect
Notification signal of property virtualSize
.
- PySide6.QtGui.QScreen.virtualSiblingAt(point)#
- Parameters:
point –
PySide6.QtCore.QPoint
- Return type:
Returns the screen at point
within the set of virtualSiblings()
, or nullptr
if outside of any screen.
The point
is in relation to the virtualGeometry()
of each set of virtual siblings.
- PySide6.QtGui.QScreen.virtualSiblings()#
Get the screen’s virtual siblings.
The virtual siblings are the screen instances sharing the same virtual desktop. They share a common coordinate system, and windows can freely be moved or positioned across them without having to be re-created.
- PySide6.QtGui.QScreen.virtualSize()#
- Return type:
Getter of property virtualSize
.