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:
Zugriff auf Bluetooth-Peripheriegeräte | |
Zugriff auf den Kalender des Benutzers | |
Zugriff auf die Kamera zum Aufnehmen von Bildern oder Videos | |
Zugriff auf die Kontakte des Benutzers | |
Zugriff auf den Standort des Benutzers | |
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:
Zugriff auf Bluetooth-Peripheriegeräte | |
Zugriff auf den Kalender des Benutzers | |
Zugriff auf die Kamera zur Aufnahme von Bildern oder Videos | |
Zugriff auf die Kontakte des Benutzers | |
Zugriff auf den Standort des Benutzers | |
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:
Zugriff auf Bluetooth-Peripheriegeräte | |
Zugriff auf den Kalender des Benutzers | |
Zugriff auf die Kamera zur Aufnahme von Bildern oder Videos | |
Zugriff auf die Kontakte des Benutzers | |
Zugriff auf den Standort des Benutzers | |
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.