QPermission Class
Une enveloppe opaque d'une autorisation typée. En savoir plus...
| En-tête : | #include <QPermissions> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
| Depuis : | Qt 6.5 |
Fonctions publiques
| QPermission() | |
| QPermission(const T &type) | |
| Qt::PermissionStatus | status() const |
| QMetaType | type() const |
| std::optional<T> | value() const |
Description détaillée
La classe QPermission est un wrapper opaque d'un objet de type ` typed permission`, utilisé lors de la vérification ou de la demande d'autorisations. Il n'est pas nécessaire de créer explicitement cet objet, car il est automatiquement utilisé lors de la vérification ou de la demande d'autorisations :
qApp->checkPermission(QCameraPermission{});Lors de la demande d'autorisations, le foncteur donné recevra en paramètre une instance de QPermission, qui peut être utilisée pour vérifier le résultat de la demande :
qApp->requestPermission(QCameraPermission{}, [](const QPermission &permission) {
if (permission.status() == Qt::PermissionStatus::Granted)
takePhoto();
});Pour inspecter les propriétés de l'autorisation d'origine, de type défini, utilisez la fonction 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();
}Autorisations de type
Les autorisations suivantes sont disponibles :
Accéder aux périphériques Bluetooth | |
Accéder au calendrier de l'utilisateur | |
Accéder à l'appareil photo pour prendre des photos ou enregistrer des vidéos | |
Accéder aux contacts de l'utilisateur | |
Accéder à la localisation de l'utilisateur | |
Accéder au microphone pour écouter ou enregistrer du son |
Voir également «Autorisations des applications ».
Documentation sur les fonctions membres
[explicit noexcept default] QPermission::QPermission()
Construit par défaut une instance de ` QPermission`.
template <typename T> requires if_permission<T> QPermission::QPermission(const T &type)
Crée une autorisation à partir de l'typed permission on fournie type.
Il n'est pas nécessaire de créer explicitement ce type, car il est automatiquement utilisé lors de la vérification ou de la demande d'autorisations.
Contraintes
Ne participe à la résolution des surcharges que si ` T ` est l'une des classes suivantes : ` typed permission ` :
Accéder aux périphériques Bluetooth | |
Accéder au calendrier de l'utilisateur | |
Accéder à l'appareil photo pour prendre des photos ou enregistrer des vidéos | |
Accéder aux contacts de l'utilisateur | |
Accéder à la localisation de l'utilisateur | |
Accéder au microphone pour écouter ou enregistrer du son |
Qt::PermissionStatus QPermission::status() const
Renvoie le statut de l'autorisation.
QMetaType QPermission::type() const
Renvoie le type de l'autorisation.
template <typename T> requires if_permission<T> std::optional<T> QPermission::value() const
Renvoie l'typed permission de type T, ou std::nullopt si cet objet QPermission n'en contient pas.
Utilisez ` type()` pour choisir dynamiquement l'autorisation typée à demander.
Contraintes
Ne participe à la résolution des surcharges que si ` T ` est l'une des classes ` typed permission ` :
Accéder aux périphériques Bluetooth | |
Accéder au calendrier de l’utilisateur | |
Accéder à l'appareil photo pour prendre des photos ou enregistrer des vidéos | |
Accéder aux contacts de l'utilisateur | |
Accéder à la localisation de l'utilisateur | |
Accéder au microphone pour écouter ou enregistrer du son |
© 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.