QPermission Class

Ein undurchsichtiger Wrapper für eine typisierte Erlaubnis. Mehr...

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

Öffentliche Funktionen

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

Detaillierte Beschreibung

Die Klasse QPermission ist ein undurchsichtiger Wrapper eines typed permission, der bei der Überprüfung oder Anforderung von Berechtigungen verwendet wird. Sie brauchen diesen Typ nicht explizit zu konstruieren, da der Typ bei der Überprüfung oder Anforderung von Berechtigungen automatisch verwendet wird:

qApp->checkPermission(QCameraPermission{});

Beim Anfordern von Berechtigungen wird dem angegebenen Funktor eine Instanz von QPermission übergeben, die zur Überprüfung des Ergebnisses der Anforderung verwendet werden kann:

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

Um die Eigenschaften der ursprünglichen, typisierten Berechtigung zu prüfen, verwenden Sie die Funktion value():

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

Getippte Berechtigungen

Die folgenden Berechtigungen sind verfügbar:

QBluetoothPermission

Zugriff auf Bluetooth-Peripheriegeräte

QCalendarPermission

Zugriff auf den Kalender des Benutzers

QCameraPermission

Zugriff auf die Kamera zum Aufnehmen von Bildern oder Videos

QContactsPermission

Zugriff auf die Kontakte des Benutzers

QLocationPermission

Zugriff auf den Standort des Benutzers

QMicrophonePermission

Zugriff auf das Mikrofon zur Überwachung oder Aufnahme von Ton

Siehe auch Anwendungsberechtigungen.

Dokumentation der Mitgliederfunktionen

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

Konstruiert eine Berechtigung aus dem angegebenen typed permission type .

Sie brauchen diesen Typ nicht explizit zu konstruieren, da der Typ bei der Überprüfung oder Anforderung von Berechtigungen automatisch verwendet wird.

Dieser Konstruktor nimmt nur dann an der Überlastauflösung teil, wenn T eine der Klassen typed permission ist:

QBluetoothPermission

Zugriff auf Bluetooth-Peripheriegeräte

QCalendarPermission

Zugriff auf den Kalender des Benutzers

QCameraPermission

Zugriff auf die Kamera zur Aufnahme von Bildern oder Videos

QContactsPermission

Zugriff auf die Kontakte des Benutzers

QLocationPermission

Zugriff auf den Standort des Benutzers

QMicrophonePermission

Zugriff auf das Mikrofon zur Überwachung oder Aufnahme von Ton

Qt::PermissionStatus QPermission::status() const

Gibt den Status der Berechtigung zurück.

QMetaType QPermission::type() const

Gibt den Typ der Berechtigung zurück.

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

Gibt die typed permission vom Typ T zurück, oder std::nullopt, wenn dieses QPermission Objekt keine enthält.

Verwenden Sie type(), um dynamisch auszuwählen, welche typisierte Berechtigung angefordert werden soll.

Diese Funktion nimmt nur an der Überlastauflösung teil, wenn T eine der Klassen typed permission ist:

QBluetoothPermission

Zugriff auf Bluetooth-Peripheriegeräte

QCalendarPermission

Zugriff auf den Kalender des Benutzers

QCameraPermission

Zugriff auf die Kamera zur Aufnahme von Bildern oder Videos

QContactsPermission

Zugriff auf die Kontakte des Benutzers

QLocationPermission

Zugriff auf den Standort des Benutzers

QMicrophonePermission

Zugriff auf das Mikrofon zur Überwachung oder Aufnahme von Ton

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