QPermission类

类型权限的不可见包装。 更多信息...

头文件 #include <QPermissions>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
Qt 6.5

公共函数

QPermission(const T &type)
Qt::PermissionStatusstatus() const
QMetaTypetype() const
std::optional<T>value() const

详细描述

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();
}

类型权限

以下权限可供使用:

QBluetoothPermission

访问蓝牙外设

QCalendarPermission

访问用户的日历

QCameraPermission

访问相机以拍照或视频

QContactsPermission

访问用户的联系人

QLocationPermission

访问用户的位置

QMicrophonePermission

访问麦克风以监控或录音音效

另请参阅应用权限

成员函数文档

template <typename T, QPermission::if_permission<T> = true> QPermission::QPermission(const T &type)

根据给定的类型权限type构造权限。

您不需要显式构建此类型,因为在检查或请求权限时会自动使用此类型。

仅当T是类型权限类之一时,此构造函数才参与重载解析

QBluetoothPermission

访问蓝牙外设

QCalendarPermission

访问用户的日历

QCameraPermission

访问相机以拍照或视频

QContactsPermission

访问用户的联系人

QLocationPermission

访问用户的位置

QMicrophonePermission

访问麦克风以监控或录音音效

Qt::PermissionStatus QPermission::status() const

返回权限的状态。

QMetaType QPermission::type() const

返回权限的类型。

模板 <typename T, QPermission::if_permission<T> = true> std::optional<T> QPermission::value() const

返回类型为 T类型权限,如果在 QPermission 对象中没有,则返回 std::nullopt

使用 类型 () 动态选择要请求的类型权限。

如果 T类型权限 类之一,则此函数参与重载解析。

QBluetoothPermission

访问蓝牙外设

QCalendarPermission

访问用户的日历

QCameraPermission

访问相机以拍照或视频

QContactsPermission

访问用户的联系人

QLocationPermission

访问用户的位置

QMicrophonePermission

访问麦克风以监控或录音音效

© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于各自的拥有者。本提供的文档是根据Free Software Foundation发布的GNU Free Documentation License版本1.3许可的。Qt及其相关标志是芬兰和/或世界其他地区的The Qt Company Ltd.的商标。所有其他商标均为其各自拥有者的财产。