class QScreenCapture#

这个类用于捕获屏幕。 更多

Inheritance diagram of PySide6.QtMultimedia.QScreenCapture

自 6.5 版本开始。

简介#

属性#

方法#

插槽#

信号#

注意

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

详细说明#

警告

本节包含自动从C++转换为Python的片段,可能包含错误。

此类捕获屏幕。它由QMediaCaptureSession类管理,捕获的屏幕可以在视频预览对象中显示或记录到文件。

session = QMediaCaptureSession()
audioInput = QAudioInput()
session.setAudioInput(input)
recorder = QMediaRecorder()
session.setRecorder(recorder)
recorder.setQuality(QMediaRecorder.HighQuality)
recorder.setOutputLocation(QUrl.fromLocalFile("test.mp3"))
recorder.record()

屏幕捕获限制#

在Qt 6.5.2和6.5.3中,对QScreenCapture的使用有以下限制

  • 它仅支持FFmpeg后端。

  • 该功能支持所有桌面平台,但Linux使用Wayland合成器时不受支持,这是由于Wayland协议的限制和限制。

  • 除了Android以外,不适用于移动操作系统。在Android平台上,由于该类当前通过QScreen::grabWindow实现,而该实现并不适用于此场景,可能存在性能问题。

  • 在Linux上,它与X11兼容,但尚未在嵌入式系统中进行测试。

  • 在大多数情况下,我们设置屏幕捕获帧率为屏幕刷新率,但在Windows上可能会有更多的灵活性。这样的帧率(75/120 FPS)如果在4K分辨率下进行屏幕捕获,可能会在性能较弱的CPU上导致性能问题。

class Error#

枚举了QScreenCapture类可能发出的错误代码。方法errorString() 提供了有关错误原因的详细信息。

常数

描述

QScreenCapture.NoError

没有错误

QScreenCapture.InternalError

内部屏幕捕获驱动器错误

QScreenCapture.CapturingNotSupported

不支持捕获

QScreenCapture.CaptureFailed

屏幕捕获失败

QScreenCapture.NotFound

未找到选定的屏幕

注意

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

property activeᅟ: bool#

此属性表示当前捕获是否活跃。

访问函数
property errorᅟ: QScreenCapture.Error#

此属性表示最后的错误代码。

访问函数
property errorStringᅟ: str#

此属性表示描述错误原因的字符串。

访问函数
属性screenᅟ: QScreen#

此属性保存了要捕获的屏幕。

访问函数
__init__([parent=None])#
参数:

parentQObject

activeChanged(arg__1)#
参数:

arg__1 – bool

属性 activeᅟ 的通知信号。

captureSession()#
返回类型:

QMediaCaptureSession

返回此 QScreenCapture 所连接的捕获会话。

使用 setScreenCapture() 将摄像头连接到会话。

error()#
返回类型:

错误

属性 errorᅟ 的获取器。

errorChanged()#

属性 errorᅟ 的通知信号。

errorOccurred(error, errorString)#
参数:
  • errorError

  • errorString – str

当发生错误时发出信号,包括 errorString

errorString()#
返回类型:

str

属性 errorStringᅟ 的获取器。

isActive()#
返回类型:

bool

属性 activeᅟ 的获取器。

screen()#
返回类型:

QScreen

另请参阅

setScreen()

属性 screenᅟ 的获取器。

screenChanged(arg__1)#
参数:

arg__1QScreen

属性 screenᅟ 的通知信号。

setActive(active)#
参数:

active – bool

另请参阅

isActive()

属性 activeᅟ 的设置器。

setScreen(screen)#
参数:

screenQScreen

另请参阅

screen()

属性 screenᅟ 的设置器。

start()#

开始屏幕捕获。

stop()#

停止屏幕捕获。