class QScreen#

QScreen 类用于查询屏幕属性。更多

Inheritance diagram of PySide6.QtGui.QScreen

概述#

属性#

方法#

信号#

注意#

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来通知我们

详细说明#

关于逻辑与物理点每英寸的说明:如果可用,物理DPI基于实际物理像素尺寸,并且对于打印预览和其他希望知道屏幕显示内容确切物理尺寸的情况很有用。

逻辑点每英寸用于将字体和用户界面元素从点尺寸转换为像素尺寸,可能与物理点每英寸不同。有时逻辑点每英寸可以在桌面环境的设置面板中由用户设置,以允许用户在全球范围内控制不同应用程序中的UI和字体大小。

注意#

物理和逻辑DPI均以设备无关的点表示。通过乘以devicePixelRatio()来获取设备相关的密度。

注意#

可以使用属性,当使用from __feature__ import true_property时直接使用,否则通过访问函数使用。

属性 availableGeometryᅟ: QRect#

此属性保存屏幕在像素中的可用几何形状。

可用几何形状是排除了窗口管理器保留区域(如任务栏和系统菜单)的几何形状。

注意,在X11中,仅在系统只有一个显示器且窗口管理器已设置_NET_WORKAREA原子的系统上,此函数才会返回真正的可用几何形状。在其他所有情况下,此值等于 geometry() 。这是X11窗口管理器规范中的限制。

访问函数
属性 availableSizeᅟ: QSize#

此属性保存屏幕在像素中的可用大小。

可用大小是排除了窗口管理器保留区域(如任务栏和系统菜单)的大小。

访问函数
属性 availableVirtualGeometryᅟ: QRect#

此属性保存属于此屏幕的虚拟桌面的可用几何形状。

返回对应于该屏幕的虚拟桌面的可用几何形状。

这是虚拟兄弟各自可用几何形状的并集。

访问函数
属性 availableVirtualSizeᅟ: QSize#

此属性保存属于此屏幕的虚拟桌面的可用大小。

返回对应于该屏幕的虚拟桌面的可用像素大小。

这是虚拟兄弟各自可用几何形状的总大小。

访问函数
属性 depth: int#

此属性保留屏幕的色深。

访问函数
属性 devicePixelRatio: float#

此属性保留了屏幕物理像素和设备无关像素之间的比率。

返回屏幕的物理像素和设备无关像素之间的比率。

常见值是普通显示器上的1.0和在“视网膜”显示器上的2.0。也可能有更高的值。

访问函数
属性 geometry: QRect#

此属性保留屏幕的像素几何形状。

例如,这可能返回 QRect(0, 0, 1280, 1024),或者在虚拟桌面设置中 QRect(1280, 0, 1280, 1024)。

访问函数
属性 logicalDotsPerInch: float#

此属性保留每英寸逻辑点或像素的数目。

此值可用于将字体点大小转换为像素大小。

这是一个方便的属性,它只是logicalDotsPerInchXlogicalDotsPerInchY 属性的平均值。

访问函数
属性 logicalDotsPerInchX: float#

此属性保留水平方向上每英寸的逻辑点或像素数。

此值用于将字体点大小转换为像素大小。

另请参阅

logicalDotsPerInchY()

访问函数
属性 logicalDotsPerInchY: float#

此属性保存垂直方向的逻辑点或每英寸像素数。

此值用于将字体点大小转换为像素大小。

另请参阅

logicalDotsPerInchX()

访问函数
属性 manufacturer: str#

此属性保存屏幕的制造商。

访问函数
属性 model: str#

此属性保存屏幕的型号。

访问函数
属性 name: str#

此属性保存一个用户可显示的字符串,表示屏幕。

例如,在X11中,这些与XRandr屏幕名称相对应,通常为“VGA1”、“HDMI1”等。

注意#

用户可显示的字符串并不保证与任何本地API的结果相匹配,不应用于唯一标识屏幕。

访问函数
属性 nativeOrientation: Qt.ScreenOrientation#

此属性保存本机屏幕方向。

屏幕的本机方向是设备标志贴纸显示正确的方向,或者在平台不支持此功能时为Qt::PrimaryOrientation。

本机方向是硬件属性,不会更改。

访问函数
属性 orientation: Qt.ScreenOrientation#

此属性保存屏幕方向。

orientation属性告诉窗口系统从窗口系统角度出发的屏幕方向。

大多数移动设备和平板电脑包含加速度计传感器。Qt传感器模块提供了直接读取此传感器的能力。然而,窗口系统可能会根据手持方式自动旋转整个屏幕;在这种情况下,此orientation属性将会改变。

访问函数
属性 physicalDotsPerInch: float#

此属性保存物理点或每英寸像素数。

此值表示屏幕显示的像素密度。根据底层系统提供的信息,此值可能不完全准确。

这是一个方便的属性,仅仅是 physicalDotsPerInchXphysicalDotsPerInchY 属性的平均值。

注意#

物理DPI以设备无关的dots表示。乘以 devicePixelRatio() 以获得设备相关的密度。

访问函数
属性physicalDotsPerInchX: 浮点数#

此属性表示水平方向上每英寸的物理dots或像素数。

此值表示屏幕上的实际水平像素密度。根据底层系统提供的信息,此值可能不完全准确。

注意#

物理DPI以设备无关的dots表示。乘以 devicePixelRatio() 以获得设备相关的密度。

另请参阅

physicalDotsPerInchY()

访问函数
属性physicalDotsPerInchY: 浮点数#

此属性表示垂直方向上每英寸的物理dots或像素数。

此值表示屏幕上的实际垂直像素密度。根据底层系统提供的信息,此值可能不完全准确。

注意#

物理DPI以设备无关的dots表示。乘以 devicePixelRatio() 以获得设备相关的密度。

另请参阅

physicalDotsPerInchX()

访问函数
属性physicalSize: QSizeF#

此属性表示屏幕的物理尺寸(以毫米为单位)。

物理尺寸表示屏幕显示的实际物理尺寸。

根据底层系统提供的信息,此值可能不完全准确。

访问函数
属性primaryOrientation: Qt.ScreenOrientation#

此属性表示主屏幕方向。

当屏幕几何形状的宽度大于或等于其高度时,主屏幕方向是 Qt::LandscapeOrientation;否则是 Qt::PortraitOrientation。当屏幕方向改变(即显示旋转)时,此属性可能发生变化。然而,此行为取决于平台,通常可以在应用程序清单文件中指定。

访问函数
属性 refreshRate: float#

此属性包含屏幕的大约垂直刷新率(Hz)。

警告

请避免使用屏幕的刷新率通过计时器例如QTimer来驱动动画。相反,请使用requestUpdate()

另请参阅

requestUpdate()

访问函数
属性 serialNumber: str#

此属性包含屏幕的序列号。

访问函数
属性 size: QSize#

此属性包含屏幕的像素分辨率。

访问函数
属性 virtualGeometry: QRect#

此属性包含属于此屏幕的虚拟桌面的像素几何形状。

返回对应于此屏幕的虚拟桌面的像素几何形状。

这是虚拟兄弟个体几何形状的并集。

另请参阅

virtualSiblings()

访问函数
属性 virtualSize: QSize#

此属性包含属于此屏幕的虚拟桌面的像素大小。

返回对应于此屏幕的虚拟桌面的像素大小。

这是虚拟兄弟个体几何形状的总大小。

另请参阅

virtualSiblings()

访问函数
angleBetween(a, b)#
参数:
返回类型:

int

便捷函数,用于计算从旋转 a 到旋转 b 的旋转角度。

结果将为 0、90、180 或 270。

Qt::PrimaryOrientation 被解释为屏幕的 primaryOrientation()

availableGeometry()#
返回类型:

QRect

属性 availableGeometry 的获取器。

availableGeometryChanged(geometry)#
参数:

geometry - QRect

属性 availableSize 的通知信号。

availableSize()#
返回类型:

QSize

属性 availableSize 的获取器。

availableVirtualGeometry()#
返回类型:

QRect

属性 availableVirtualGeometry 的获取器。

availableVirtualSize()#
返回类型:

QSize

属性 availableVirtualSize 的获取器。

depth()#
返回类型:

int

属性 depth 的获取器。

devicePixelRatio()#
返回类型:

float

属性 devicePixelRatio 的获取器。

geometry()#
返回类型:

QRect

属性 geometry 的获取器。

geometryChanged(geometry)#
参数:

geometry - QRect

属性 size 的通知信号。

grabWindow([window=0[, x=0[, y=0[, w=-1[, h=-1]]]]])#
参数:
  • 窗口WId

  • x – int

  • y – int

  • w – int

  • h – int

返回类型:

QPixmap

创建并返回一个利用给定的 窗口 内容构建的 pixmap,该内容受 QRect(xywidthheight) 限制。如果 窗口 为 0,则将捕获整个屏幕。

参数 (xy) 指定窗口中的偏移量,而 (widthheight) 指定要复制的区域。如果 width 为负值,则函数将复制到窗口的右侧边界。如果 height 为负值,则函数将复制到窗口的底部。

偏移量和大小参数以设备无关的像素指定。从高DPI屏幕捕获时,返回的 pixmap 可能比请求的大小要大。可以通过调用 devicePixelRatio() 来确定是否如此。

可以使用 QWidget::winId() 函数检索窗口系统标识符 (WId)。使用窗口标识符而不是 QWidget 的原因是,可以将它用于捕获不属于应用程序的窗口、窗口系统框架等。

警告

在类似 iOS 这样的系统上,不支持捕获不属于应用程序的窗口,因为沙盒/安全策略阻止读取不属于应用程序的窗口的像素。

grabWindow() 函数从屏幕捕获像素,而不是从窗口,即如果存在另一个部分或完全覆盖要捕获的窗口的窗口,您也会获得覆盖窗口的像素。通常不会捕获鼠标光标。

注意:在 X11 中,如果给定的 窗口 的深度与根窗口不同,并且另一个窗口部分或全部遮挡了您要捕获的窗口,您将 不会 从覆盖窗口中获取像素。 pixmap 中遮挡区域的内
容将是未定义的并未初始化。

在 Windows Vista 及以上版本中,创建由 Qt::WA_TranslucentBackground 属性设置的分层窗口,将不会工作。而是应该捕获桌面窗口。

警告

通常,从屏幕外部捕获区域是不安全的。这取决于底层窗口系统。

isLandscape(orientation)#
参数:

方向ScreenOrientation

返回类型:

bool

这是一个便利函数,当 o 是风景或反转风景时返回 true;否则返回 false

Qt::PrimaryOrientation 被解释为屏幕的 primaryOrientation()

isPortrait(orientation)#
参数:

方向ScreenOrientation

返回类型:

bool

方便函数,如果o是竖屏或倒置竖屏,则返回true;否则返回false

Qt::PrimaryOrientation 被解释为屏幕的 primaryOrientation()

logicalDotsPerInch()#
返回类型:

float

属性logicalDotsPerInchᅟ的获取器。

logicalDotsPerInchChanged(dpi)#
参数:

dpi - 浮点数

属性logicalDotsPerInchXᅟ的变更通知信号。

logicalDotsPerInchX()#
返回类型:

float

属性logicalDotsPerInchXᅟ的获取器。

logicalDotsPerInchY()#
返回类型:

float

属性logicalDotsPerInchYᅟ的获取器。

manufacturer()#
返回类型:

字符串

属性manufacturerᅟ的获取器。

mapBetween(a, b, rect)#
参数:
返回类型:

QRect

在两个屏幕方向之间映射矩形。

如果方向a是Qt::PortraitOrientation或Qt::InvertedPortraitOrientation,方向b是Qt::LandscapeOrientation或Qt::InvertedLandscapeOrientation,或者在相反的情况下,将翻转矩形rect的x和y维度。

Qt::PrimaryOrientation 被解释为屏幕的 primaryOrientation()

model()#
返回类型:

字符串

属性modelᅟ的获取器。

name()#
返回类型:

字符串

属性nameᅟ的获取器。

nativeInterface()#
返回类型:

对象

nativeOrientation()#
返回类型:

屏幕方向

属性 nativeOrientation 的获取器。

orientation()#
返回类型:

屏幕方向

属性 orientation 的获取器。

orientationChanged(orientation)#
参数:

方向ScreenOrientation

当屏幕方向变化时,此信号会发出,其中 orientation 作为参数。

另请参阅

orientation()

属性 orientation 的通知信号。

physicalDotsPerInch()#
返回类型:

float

属性 physicalDotsPerInch 的获取器。

physicalDotsPerInchChanged(dpi)#
参数:

dpi - 浮点数

属性 physicalDotsPerInchX 的通知信号。

physicalDotsPerInchX()#
返回类型:

float

属性 physicalDotsPerInchX 的获取器。

physicalDotsPerInchY()#
返回类型:

float

属性 physicalDotsPerInchY 的获取器。

physicalSize()#
返回类型:

QSizeF

属性 physicalSize 的获取器。

physicalSizeChanged(size)#
参数:

大小QSizeF

属性 physicalSize 的通知信号。

primaryOrientation()#
返回类型:

屏幕方向

属性 primaryOrientation 的获取器。

primaryOrientationChanged(orientation)#
参数:

方向ScreenOrientation

当屏幕的主方向改变时,会发出此信号,其中 orientation 作为参数。

另请参阅

primaryOrientation()

属性 primaryOrientation 的通知信号。

refreshRate()#
返回类型:

float

属性 refreshRate 的获取器。

refreshRateChanged(refreshRate)#
参数:

refreshRate - float

属性 refreshRate 的通知信号。

resolveInterface(name, revision)#
参数:
  • name - str

  • revision - int

返回类型:

void

serialNumber()#
返回类型:

字符串

属性 serialNumber 的获取器。

size()#
返回类型:

QSize

属性 size 的获取器。

transformBetween(a, b, target)#
参数:
返回类型:

QTransform

计算将坐标系从方向 a 映射到由方向 b 和目标尺寸 target 定义的坐标系的一个便捷函数。

例如,当 a 是 Qt::Landscape,b 是 Qt::Portrait,且 target 是 QRect(0, 0, w, h) 时,生成的变换将使得点 QPoint(0, 0) 映射到 QPoint(0, w),而 QPoint(h, w) 映射到 QPoint(0, h)。因此,横向坐标系 QRect(0, 0, h, w) 将(旋转 90 度)映射到纵向坐标系 QRect(0, 0, w, h)。

Qt::PrimaryOrientation 被解释为屏幕的 primaryOrientation()

virtualGeometry()#
返回类型:

QRect

获取属性 virtualGeometry 的 getter。

virtualGeometryChanged(rect)#
参数:

rect - QRect

属性 virtualSize 的通知信号。

virtualSiblingAt(point)#
参数:

pointQPoint

返回类型:

QScreen

virtualSiblings() 的集合中返回位于 point 的屏幕,或者如果不在任何屏幕中则返回 nullptr

point 相对于每组虚拟兄弟的 virtualGeometry()

virtualSiblings()#
返回类型:

返回 QScreen 的虚拟兄弟列表。

获取屏幕的虚拟兄弟。

虚拟兄弟是共享相同虚拟桌面的屏幕实例。它们共享一个公共坐标系,并且窗口可以自由地跨越它们移动或定位,无需重新创建。

virtualSize()#
返回类型:

QSize

属性 virtualSize 的 getter。