QPermission Class▲
-
Header: QPermissions
-
Since: Qt 6.5
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
-
qmake: QT += core
Detailed Description▲
The QPermission class is an opaque wrapper of a typed permission, used when checking or requesting permissions. You do not need to construct this type explicitly, as the type is automatically used when checking or requesting permissions:
qApp-&
gt;checkPermission(QCameraPermission{}
);
When requesting permissions, the given functor will be passed an instance of a QPermission, which can be used to check the result of the request:
qApp-&
gt;requestPermission(QCameraPermission{}
, [](const
QPermission &
amp;permission) {
if
(permission.status() ==
Qt::
PermissionStatus:Granted)
takePhoto();
}
);
To inspect the properties of the original, typed permission, use the value() function:
QLocationPermission locationPermission;
locationPermission.setAccuracy(QLocationPermission::
Precise);
qApp-&
gt;requestPermission(locationPermission, this
, &
amp;LocationWidget::
permissionUpdated);
void
LocationWidget::
permissionUpdated(const
QPermission &
amp;permission)
{
if
(permission.status() !=
Qt::
PermissionStatus:Granted)
return
;
auto
locationPermission =
permission.value&
lt;QLocationPermission&
gt;();
if
(!
locationPermission ||
locationPermission-&
gt;accuracy() !=
QLocationPermission::
Precise)
return
;
updatePreciseLocation();
}
Typed Permissions▲
The following permissions are available:
-
QBluetoothPermission: Access Bluetooth peripherals.
-
QCalendarPermission: Access the user's calendar.
-
QCameraPermission: Access the camera for taking pictures or videos.
-
QContactsPermission: Access the user's contacts.
-
QLocationPermission: Access the user's location.
-
QMicrophonePermission: Access the microphone for monitoring or recording sound.
See Also▲
See also Application Permissions
Member Function Documentation▲
QPermission::QPermission(const T &type)▲
Constructs a permission from the given typed permission type.
You do not need to construct this type explicitly, as the type is automatically used when checking or requesting permissions.
This constructor participates in overload resolution only if T is one of the typed permission classes:
-
QBluetoothPermission: Access Bluetooth peripherals.
-
QCalendarPermission: Access the user's calendar.
-
QCameraPermission: Access the camera for taking pictures or videos.
-
QContactsPermission: Access the user's contacts.
-
QLocationPermission: Access the user's location.
-
QMicrophonePermission: Access the microphone for monitoring or recording sound.
Qt::PermissionStatus QPermission::status() const▲
Returns the status of the permission.
QMetaType QPermission::type() const▲
Returns the type of the permission.
std::optional<T> QPermission::value() const▲
Returns the typed permission of type T, or std::nullopt if this QPermission object doesn't contain one.
Use type() for dynamically choosing which typed permission to request.
This function participates in overload resolution only if T is one of the typed permission classes:
-
QBluetoothPermission: Access Bluetooth peripherals.
-
QCalendarPermission: Access the user's calendar.
-
QCameraPermission: Access the camera for taking pictures or videos.
-
QContactsPermission: Access the user's contacts.
-
QLocationPermission: Access the user's location.
-
QMicrophonePermission: Access the microphone for monitoring or recording sound.