- class QScreenCapture#
这个类用于捕获屏幕。 更多…
自 6.5 版本开始。
简介#
属性#
active属性
- 当前捕获是否活跃error属性
- 最后错误的代码errorString属性
- 描述错误原因的易读字符串screen属性
- 要捕获的屏幕
方法#
def
__init__()
def
captureSession()
def
error()
def
errorString()
def
isActive()
def
screen()
def
setScreen()
插槽#
def
setActive()
def
start()
def
stop()
信号#
def
activeChanged()
def
errorChanged()
def
errorOccurred()
def
screenChanged()
注意
本说明可能包含自动从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#
此属性表示描述错误原因的字符串。
- 访问函数
此属性保存了要捕获的屏幕。
- 访问函数
- activeChanged(arg__1)#
- 参数:
arg__1 – bool
属性
activeᅟ
的通知信号。- captureSession()#
- 返回类型:
返回此
QScreenCapture
所连接的捕获会话。使用
setScreenCapture()
将摄像头连接到会话。属性
errorᅟ
的获取器。- errorChanged()#
属性
errorᅟ
的通知信号。当发生错误时发出信号,包括
errorString
。- errorString()#
- 返回类型:
str
属性
errorStringᅟ
的获取器。- isActive()#
- 返回类型:
bool
属性
activeᅟ
的获取器。- screen()#
- 返回类型:
另请参阅
属性
screenᅟ
的获取器。属性
screenᅟ
的通知信号。- setActive(active)#
- 参数:
active – bool
另请参阅
属性
activeᅟ
的设置器。属性
screenᅟ
的设置器。- start()#
开始屏幕捕获。
- stop()#
停止屏幕捕获。