En esta página

QPermission Class

Una envoltura opaca de un permiso tipificado. Más...

Cabecera: #include <QPermissions>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Desde: Qt 6.5

Funciones Públicas

QPermission(const T &type)
Qt::PermissionStatus status() const
QMetaType type() const
std::optional<T> value() const

Descripción detallada

La clase QPermission es una envoltura opaca de typed permission, utilizada para comprobar o solicitar permisos. No es necesario construir este tipo explícitamente, ya que el tipo se utiliza automáticamente al comprobar o solicitar permisos:

qApp->checkPermission(QCameraPermission{});

Cuando se solicitan permisos, al functor dado se le pasa una instancia de QPermission, que puede utilizarse para comprobar el resultado de la solicitud:

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

Para inspeccionar las propiedades del permiso original, tipado, utilice la función value():

QLocationPermission locationPermission; locationPermission.setAccuracy(QLocationPermission::Preciso);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();
}

Permisos escritos

Están disponibles los siguientes permisos:

QBluetoothPermission

Acceder a los periféricos Bluetooth

QCalendarPermission

Acceder a la agenda del usuario

QCameraPermission

Acceder a la cámara para hacer fotos o vídeos

QContactsPermission

Acceder a los contactos del usuario

QLocationPermission

Acceder a la localización del usuario

QMicrophonePermission

Acceder al micrófono para monitorizar o grabar sonido

Véase también Permisos de aplicación.

Documentación de las funciones de los miembros

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

Construye un permiso a partir de la dirección typed permission type .

No es necesario construir este tipo explícitamente, ya que el tipo se utiliza automáticamente cuando se comprueban o solicitan permisos.

Restricciones

Participa en la resolución de sobrecargas sólo si T es una de las clases typed permission:

QBluetoothPermission

Acceso a periféricos Bluetooth

QCalendarPermission

Acceder al calendario del usuario

QCameraPermission

Acceder a la cámara para hacer fotos o vídeos

QContactsPermission

Acceder a los contactos del usuario

QLocationPermission

Acceder a la ubicación del usuario

QMicrophonePermission

Acceder al micrófono para monitorizar o grabar sonido

Qt::PermissionStatus QPermission::status() const

Devuelve el estado del permiso.

QMetaType QPermission::type() const

Devuelve el tipo de permiso.

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

Devuelve el typed permission de tipo T, o std::nullopt si este objeto QPermission no contiene ninguno.

Utilice type() para elegir dinámicamente qué tipo de permiso solicitar.

Restricciones

Participa en la resolución de sobrecargas sólo si T es una de las clases typed permission:

QBluetoothPermission

Acceso a periféricos Bluetooth

QCalendarPermission

Acceder al calendario del usuario

QCameraPermission

Acceder a la cámara para hacer fotos o vídeos

QContactsPermission

Acceder a los contactos del usuario

QLocationPermission

Acceder a la ubicación del usuario

QMicrophonePermission

Acceder al micrófono para monitorizar o grabar sonido

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.