En esta página

QWebEnginePermission Class

Un QWebEnginePermission es un objeto utilizado para acceder y modificar el estado de un único permiso que ha sido concedido o denegado a una URL de origen específica. Más...

Cabecera: #include <QWebEnginePermission>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
Desde: Qt 6.8
En QML: webEnginePermission

Tipos Públicos

enum class PermissionType { MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, DesktopVideoCapture, DesktopAudioVideoCapture, …, Unsupported }
enum class State { Invalid, Ask, Granted, Denied }

Propiedades

Funciones públicas

void deny() const
void grant() const
bool isValid() const
QUrl origin() const
QWebEnginePermission::PermissionType permissionType() const
void reset() const
QWebEnginePermission::State state() const

Miembros públicos estáticos

bool isPersistent(QWebEnginePermission::PermissionType permissionType)

Descripción detallada

El patrón de uso típico es el siguiente:

  1. Un sitio web solicita un permiso específico, activando la señal QWebEnginePage::permissionRequested();
  2. El controlador de la señal lanza una pregunta al usuario sobre si desea conceder el permiso;
  3. Cuando el usuario ha tomado su decisión, la aplicación llama a grant() o deny();

Alternativamente, una aplicación interesada en modificar permisos ya concedidos puede utilizar QWebEngineProfile::listAllPermissions() para obtener una lista de los permisos existentes asociados a un perfil, o QWebEngineProfile::queryPermission() para obtener un objeto QWebEnginePermission para un permiso específico.

La propiedad origin() puede utilizarse para consultar a qué origen está asociado el QWebEnginePermission, mientras que la propiedad permissionType() describe el tipo de permiso solicitado. El origen de un sitio web es la combinación de su esquema, nombre de host y puerto. Los permisos se conceden por origen; así, si la página web https://www.example.com:12345/some/page.html solicita un permiso, se concederá al origen https://www.example.com:12345/.

QWebEnginePermission::PermissionType describe todos los tipos de permisos que admite Qt WebEngine. Sólo algunos tipos de permisos se recuerdan entre sesiones de navegación; son persistentes. Los permisos no persistentes consultan al usuario cada vez que un sitio web los solicita. Puedes comprobar si un tipo de permiso es persistente en tiempo de ejecución utilizando el método estático QWebEnginePermission::isPersistent().

Los permisos persistentes se almacenan dentro del activo QWebEngineProfile, y su vida útil depende del valor de QWebEngineProfile::persistentPermissionsPolicy(). Por defecto, los perfiles con nombre almacenan sus permisos en disco, mientras que los que no tienen nombre los almacenan en memoria (y los destruyen cuando se destruye el perfil). Un permiso almacenado no se consultará al usuario la próxima vez que un sitio web lo solicite; en su lugar, se concederá o denegará automáticamente, dependiendo de la resolución que el usuario haya elegido inicialmente. Para borrar un permiso almacenado, llame a reset().

Un permiso no persistente, por otro lado, sólo es utilizable hasta que el QWebEnginePage relacionado realice una navegación a una URL diferente, o sea destruido.

Puedes comprobar si un QWebEnginePermission está en un estado válido utilizando su propiedad isValid(). Para los objetos no válidos, las llamadas a grant(), deny() o reset() no harán nada, mientras que las llamadas a state() siempre devolverán QWebEnginePermission::Invalid.

Véase también QWebEnginePage::permissionRequested(), QWebEngineProfile::queryPermission(), y QWebEngineProfile::listAllPermissions().

Documentación de tipos de miembros

enum class QWebEnginePermission::PermissionType

Este tipo enum contiene el tipo de permiso solicitado:

ConstanteValorDescripción
QWebEnginePermission::PermissionType::MediaAudioCapture1Acceso a un micrófono u otra fuente de audio. Este permiso no es persistente.
QWebEnginePermission::PermissionType::MediaVideoCapture2Acceso a una cámara web u otra fuente de vídeo. Este permiso no es persistente.
QWebEnginePermission::PermissionType::MediaAudioVideoCapture3Combinación de MediaAudioCapture y MediaVideoCapture. Este permiso no es persistente.
QWebEnginePermission::PermissionType::DesktopVideoCapture4Acceso al contenido de la pantalla del usuario. Este permiso no es persistente.
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture5Acceso al contenido de la pantalla del usuario y al audio de la aplicación. Este permiso no es persistente.
QWebEnginePermission::PermissionType::MouseLock6Bloquea el puntero dentro de un elemento de la página web. Este permiso no es persistente.
QWebEnginePermission::PermissionType::Notifications7Permite al sitio web enviar notificaciones al usuario. Este permiso es persistente.
QWebEnginePermission::PermissionType::Geolocation8Acceso a la ubicación física del usuario. Este permiso es persistente.
QWebEnginePermission::PermissionType::ClipboardReadWrite9Acceso al portapapeles del usuario. Este permiso es persistente.
QWebEnginePermission::PermissionType::LocalFontsAccess10Acceso a las fuentes instaladas en el equipo del usuario. Sólo disponible en ordenadores de sobremesa. Este permiso es permanente.
QWebEnginePermission::PermissionType::Unsupported0Un tipo de permiso no soportado.

Nota: Los tipos de permisos no persistentes son aquellos que nunca serán recordados por el almacenamiento subyacente, y activarán una solicitud de permiso cada vez que un sitio web intente utilizarlos.

enum class QWebEnginePermission::State

Este tipo enum contiene el estado actual del permiso solicitado:

ConstanteValorDescripción
QWebEnginePermission::State::Invalid0El objeto se encuentra en un estado no válido, y cualquier intento de modificar el permiso descrito fallará.
QWebEnginePermission::State::Ask1O bien el permiso no se ha solicitado antes, o bien permissionType() no es persistente.
QWebEnginePermission::State::Granted2El permiso ya ha sido concedido.
QWebEnginePermission::State::Denied3El permiso ya ha sido denegado.

Documentación de propiedades

[read-only] isValid : const bool

Indica si los intentos de cambiar el estado del permiso tendrán éxito.

Un QWebEnginePermission inválido es:

  • Uno cuyo permissionType() no está soportado;
  • Uno cuyo origin() no es válido;
  • Uno cuyo perfil asociado ha sido destruido

Funciones de acceso:

bool isValid() const

Véase también isPersistent().

[read-only] origin : const QUrl

Esta propiedad contiene la URL del origen asociado al permiso.

El origen de una página web es la combinación de su esquema, nombre de host y puerto. Los permisos se conceden por origen; así, si la página web https://www.example.com:12345/some/page.html solicita un permiso, éste se concederá al origen https://www.example.com:12345/.

Funciones de acceso:

QUrl origin() const

[read-only] permissionType : const PermissionType

Esta propiedad contiene el tipo de permiso asociado a este permiso.

Funciones de acceso:

QWebEnginePermission::PermissionType permissionType() const

[read-only] state : const State

Esta propiedad contiene el estado actual del permiso.

Si ya se ha concedido o denegado un permiso para los objetos permissionType() y origin() especificados, el valor devuelto es QWebEnginePermission::Granted, o QWebEnginePermission::Denied, respectivamente. Si es la primera vez que se solicita el permiso, el valor devuelto es QWebEnginePermission::Ask. Si el objeto se encuentra en un estado no válido, el valor devuelto es QWebEnginePermission::Invalid.

Funciones de acceso:

QWebEnginePermission::State state() const

Véase también isValid() y isPersistent().

Documentación de las funciones miembro

[invokable] void QWebEnginePermission::deny() const

Impide que el origen asociado acceda a la dirección permissionType solicitada. No hace nada cuando isValid() se evalúa como falso.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Véase también grant(), reset() y isValid().

[invokable] void QWebEnginePermission::grant() const

Permite al origen asociado acceder a la dirección permissionType solicitada. No hace nada cuando isValid() se evalúa como falso.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Véase también deny(), reset() y isValid().

[static invokable] bool QWebEnginePermission::isPersistent(QWebEnginePermission::PermissionType permissionType)

Devuelve si un permissionType es persistente, lo que significa que el estado de un permiso será recordado y el usuario no será consultado la próxima vez que el sitio web solicite el mismo permiso.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] void QWebEnginePermission::reset() const

Elimina el permiso del almacenamiento subyacente del perfil. Por defecto, los permisos se almacenan en disco (excepto para los perfiles off-the-record, en los que los permisos se almacenan en memoria y se destruyen con el perfil). Esto significa que un permiso ya concedido/denegado no se solicitará dos veces, sino que se concederá/denegará automáticamente cada vez que un sitio web lo solicite. Llamar a reset() permite que la consulta se muestre de nuevo la próxima vez que el sitio web la solicite.

No hace nada cuando isValid() se evalúa como falso.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Véase también grant(), deny(), isValid(), y QWebEngineProfile::persistentPermissionsPolicy().

© 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.