class QPermission#

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

新版本6.5。

概述#

方法#

注意

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

详细描述#

QPermission 类是类型权限的不透明包装器,在检查或请求权限时使用。不需要显式构造此类型,因为检查或请求权限时将自动使用此类型。

qApp->checkPermission(QCameraPermission{});

请求权限时,给定的functor将传递一个 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()#
返回类型:

权限状态

返回权限的状态。

type()#
返回类型:

QMetaType

返回权限的类型。