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