Sur cette page

QPermission Class

Une enveloppe opaque d'une permission typée. Plus d'informations...

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(const T &type)
Qt::PermissionStatus status() const
QMetaType type() const
std::optional<T> value() const

Description détaillée

La classe QPermission est une enveloppe opaque d'un type typed permission, utilisé pour vérifier ou demander des autorisations. Il n'est pas nécessaire de construire ce type explicitement, car il est automatiquement utilisé lors du contrôle ou de la demande de permissions :

qApp->checkPermission(QCameraPermission{});

Lors d'une demande de permissions, le foncteur donné recevra 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 la permission originale, typée, 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();
}

Permissions typées

Les autorisations suivantes sont disponibles :

QBluetoothPermission

Accès aux périphériques Bluetooth

QCalendarPermission

Accès au calendrier de l'utilisateur

QCameraPermission

Accès à l'appareil photo pour prendre des photos ou des vidéos

QContactsPermission

Accès aux contacts de l'utilisateur

QLocationPermission

Accéder à la localisation de l'utilisateur

QMicrophonePermission

Accéder au microphone pour écouter ou enregistrer du son

Voir aussi Permissions d'application.

Documentation sur les fonctions membres

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

Construit une permission à partir de l'adresse typed permission type .

Il n'est pas nécessaire de construire ce type explicitement, car il est automatiquement utilisé lors de la vérification ou de la demande de permissions.

Contraintes

Ne participe à la résolution des surcharges que si T est l'une des classes typed permission:

QBluetoothPermission

Accès aux périphériques Bluetooth

QCalendarPermission

Accès au calendrier de l'utilisateur

QCameraPermission

Accès à l'appareil photo pour prendre des photos ou des vidéos

QContactsPermission

Accès aux contacts de l'utilisateur

QLocationPermission

Accès à la localisation de l'utilisateur

QMicrophonePermission

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, QPermission::if_permission<T> = true> std::optional<T> QPermission::value() const

Renvoie l'adresse typed permission du type T, ou std::nullopt si l'objet QPermission n'en contient pas.

Utilisez type() pour choisir dynamiquement le type de permission à demander.

Contraintes

Ne participe à la résolution des surcharges que si T est l'une des classes typed permission:

QBluetoothPermission

Accès aux périphériques Bluetooth

QCalendarPermission

Accès au calendrier de l'utilisateur

QCameraPermission

Accès à l'appareil photo pour prendre des photos ou des vidéos

QContactsPermission

Accès aux contacts de l'utilisateur

QLocationPermission

Accès à la localisation de l'utilisateur

QMicrophonePermission

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.