Auf dieser Seite

QPermission Class

Eine undurchsichtige Hülle für eine typisierte Berechtigung. Mehr...

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

Ausführliche Beschreibung

Die Klasse `QPermission` ist ein undurchsichtiger Wrapper für eine ` typed permission`, der bei der Überprüfung oder Anforderung von Berechtigungen verwendet wird. Sie müssen diesen Typ nicht explizit instanziieren, da er 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, mit der das Ergebnis der Anforderung überprüft werden kann:

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

Um die Eigenschaften der ursprünglichen, typisierten Berechtigung zu überprüfen, verwenden Sie die Funktion ` 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();
}

Typbezogene Berechtigungen

Die folgenden Berechtigungen sind verfügbar:

QBluetoothPermission

Auf Bluetooth-Peripheriegeräte zugreifen

QCalendarPermission

Zugriff auf den Kalender des Nutzers

QCameraPermission

Zugriff auf die Kamera zum Aufnehmen von Fotos oder Videos

QContactsPermission

Zugriff auf die Kontakte des Nutzers

QLocationPermission

Zugriff auf den Standort des Benutzers

QMicrophonePermission

Zugriff auf das Mikrofon zur Tonüberwachung oder -aufzeichnung

Siehe auch „Anwendungsberechtigungen“.

Dokumentation zu Mitgliedsfunktionen

[explicit noexcept default] QPermission::QPermission()

Erstellt standardmäßig eine Instanz von ` QPermission`.

template <typename T> requires if_permission<T> QPermission::QPermission(const T &type)

Erstellt eine Berechtigung aus dem angegebenen „ typed permission “ type.

Sie müssen diesen Typ nicht explizit erstellen, da er bei der Überprüfung oder Anforderung von Berechtigungen automatisch verwendet wird.

Einschränkungen

Nimmt nur dann an der Überladungsauflösung teil, wenn T zu einer der folgenden typed permission -Klassen gehört:

QBluetoothPermission

Auf Bluetooth-Peripheriegeräte zugreifen

QCalendarPermission

Auf den Kalender des Benutzers zugreifen

QCameraPermission

Zugriff auf die Kamera zum Aufnehmen von Fotos oder Videos

QContactsPermission

Zugriff auf die Kontakte des Benutzers

QLocationPermission

Zugriff auf den Standort des Benutzers

QMicrophonePermission

Zugriff auf das Mikrofon zur Tonüberwachung oder -aufzeichnung

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

Gibt das ` typed permission ` vom Typ ` T` zurück oder ` std::nullopt `, falls dieses ` QPermission `-Objekt kein solches enthält.

Verwenden Sie ` type()` zur dynamischen Auswahl der anzufordernden typisierten Berechtigung.

Einschränkungen

Nimmt nur dann an der Überladungsauflösung teil, wenn ` T ` eine der ` typed permission `-Klassen ist:

QBluetoothPermission

Auf Bluetooth-Peripheriegeräte zugreifen

QCalendarPermission

Auf den Kalender des Benutzers zugreifen

QCameraPermission

Zugriff auf die Kamera zum Aufnehmen von Fotos oder Videos

QContactsPermission

Zugriff auf die Kontakte des Benutzers

QLocationPermission

Zugriff auf den Standort des Benutzers

QMicrophonePermission

Zugriff auf das Mikrofon zur Tonüberwachung oder -aufzeichnung

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