PySide6.QtCore.QPermission

class QPermission

一个类型化权限的不透明包装器。更多

在6.5版本中添加。

概要

方法

注意

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

详细描述

QPermission 类是一个 typed permission 的不透明包装器,用于检查或请求权限时。您不需要显式构造此类型,因为在检查或请求权限时会自动使用该类型:

qApp->checkPermission(QCameraPermission{});

当请求权限时,给定的函子将被传递一个QPermission的实例,该实例可用于检查请求的结果:

qApp->requestPermission(QCameraPermission{}, [](const QPermission &permission) {
    if (permission.status() == Qt::PermissionStatus:Granted)
        takePhoto();
});

要检查原始的、类型化的权限属性,请使用value()函数:

QLocationPermission locationPermission;
locationPermission.setAccuracy(QLocationPermission::Precise);
qApp->requestPermission(locationPermission, this, &LocationWidget::permissionUpdated);
void LocationWidget::permissionUpdated(const QPermission &permission)
{
    if (permission.status() != Qt::PermissionStatus:Granted)
        return;
    auto locationPermission = permission.value<QLocationPermission>();
    if (!locationPermission || locationPermission->accuracy() != QLocationPermission::Precise)
        return;
    updatePreciseLocation();
}

类型化权限

以下权限可用:

PySide6.QtCore.QCameraPermission

访问相机以拍摄照片或视频。

PySide6.QtCore.QMicrophonePermission

访问麦克风以监控或录制声音。

PySide6.QtCore.QBluetoothPermission

访问蓝牙外设。

PySide6.QtCore.QLocationPermission

访问用户的位置。

PySide6.QtCore.QContactsPermission

访问用户的联系人。

PySide6.QtCore.QCalendarPermission

访问用户的日历。

另请参阅

应用程序权限

__init__()
status()
Return type:

PermissionStatus

返回权限的状态。

type()
Return type:

QMetaType

返回权限的类型。