En esta página

webEnginePermission QML Value Type

Objeto utilizado para acceder y modificar el estado de un único permiso concedido o denegado a una URL de origen específica. Más...

Import Statement: import QtWebEngine
Since: Qt 6.8
In C++: QWebEnginePermission

Propiedades

Métodos

Descripción detallada

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

  1. Un sitio web solicita una función específica, lo que activa la señal WebEngineView::permissionRequested;
  2. El gestor 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 WebEngineProfile::listAllPermissions() para obtener una lista de los permisos existentes asociados a un perfil, o WebEngineProfile::queryPermission() para obtener un objeto webEnginePermission para un permiso específico.

La propiedad origin puede utilizarse para consultar a qué origen está asociado el webEnginePermission, mientras que la propiedad permissionType describe la característica asociada. 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/.

La enumeración 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 mediante el método estático WebEnginePermission::isPersistent().

Los permisos persistentes se almacenan dentro del perfil activo WebEngineProfile, y su vida útil depende del valor de WebEngineProfile::persistentPermissionsPolicy. De forma predeterminada, los perfiles con nombre almacenan sus permisos en el disco, mientras que los perfiles sin nombre los almacenan en la 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 otra parte, sólo es utilizable hasta que el WebEngineView relacionado realiza una navegación a una URL diferente, o es destruido.

Puedes comprobar si un WebEnginePermission se encuentra 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 WebEnginePermission::Invalid.

Véase también WebEngineView::permissionRequested, WebEngineProfile::queryPermission() y WebEngineProfile::listAllPermissions().

Documentación de propiedades

isValid : bool [read-only]

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

Un webEnginePermission no válido es:

  • Un permiso cuyo permissionType no es compatible;
  • Uno cuyo permissionType no es persistente, y el usuario ha salido de la página web que desencadenó la solicitud;
  • Una cuyo permissionType es persistente, pero el perfil asociado ha sido destruido;
  • origin no es válido.

Véase también isPersistent.

origin : url [read-only]

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, se concederá al origen https://www.example.com:12345/.

permissionType : enumeration [read-only]

El tipo de permiso asociado a este permiso.

ConstanteDescripción
WebEnginePermission.MediaAudioCaptureAcceso a un micrófono u otra fuente de audio. Este permiso no es persistente.
WebEnginePermission.MediaVideoCaptureAcceso a una cámara web u otra fuente de vídeo. Este permiso no es persistente.
WebEnginePermission.MediaAudioVideoCaptureCombinación de MediaAudioCapture y MediaVideoCapture. Este permiso no es persistente.
WebEnginePermission.DesktopVideoCaptureAcceso al contenido de la pantalla del usuario. Este permiso no es persistente.
WebEnginePermission.DesktopAudioVideoCaptureAcceso al contenido de la pantalla del usuario y al audio de la aplicación. Este permiso no es persistente.
WebEnginePermission.NotificationsPermite al sitio web enviar notificaciones al usuario. Este permiso es persistente.
WebEnginePermission.GeolocationAcceso a la ubicación física del usuario. Este permiso es persistente.
WebEnginePermission.ClipboardReadWriteAcceso al portapapeles del usuario. Este permiso es persistente.
WebEnginePermission.LocalFontsAccessAcceso a las fuentes instaladas en el equipo del usuario. Sólo disponible en ordenadores de sobremesa. Este permiso es permanente.
WebEnginePermission.UnsupportedUn tipo de función no compatible.

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.

state : enumeration [read-only]

Estado actual del permiso.

ConstanteDescripción
WebEnginePermission.InvalidEl objeto se encuentra en un estado no válido, y cualquier intento de modificar el permiso descrito fallará.
WebEnginePermission.AskO bien el permiso no se ha solicitado antes, o bien permissionType no es persistente.
WebEnginePermission.GrantedEl permiso ya ha sido concedido.
WebEnginePermission.DeniedEl permiso ya ha sido denegado.

Si ya se ha concedido o denegado un permiso para los sitios permissionType y origin especificados, el valor devuelto es WebEnginePermission.Granted, o WebEnginePermission.Denied, respectivamente. Cuando es la primera vez que se solicita el permiso, el valor de retorno es WebEnginePermission.Ask. Si el objeto se encuentra en un estado no válido, el valor devuelto es WebEnginePermission.Invalid.

Véase también isValid y isPersistent.

Documentación del método

void deny()

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

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

void grant()

Permite al origen asociado acceder al per solicitado. No hace nada cuando isValid se evalúa como falso.

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

void isPersistent(WebEnginePermission.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.

void reset()

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.

Véase también grant, deny, isValid, y WebEngineProfile::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.