Qt for HarmonyOS/qtohosextras doc/QtOhosExtras Namespace: Difference between revisions
No edit summary |
Drop manual breadcrumb, MediaWiki renders it automatically (QTFOROH-2307) |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
= QtOhosExtras Namespace = | = QtOhosExtras Namespace = | ||
| Line 7: | Line 5: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Header: | |||
| #include <QtOhosExtras> | | #include <QtOhosExtras> | ||
|- | |- | ||
| qmake: | |||
| QT += ohosextras | | QT += ohosextras | ||
|- | |- | ||
| Since: | |||
| Qt 5.12.12 | | Qt 5.12.12 | ||
|} | |} | ||
This namespace was introduced in Qt 5.12.12. | |||
== Namespaces == | == Namespaces == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
| namespace | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/AppPermissions_Namespace|AppPermissions]]''' | |||
|- | |||
| namespace | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/FileShare_Namespace|FileShare]]''' | |||
|- | |- | ||
| namespace | | namespace | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/Multimedia_Namespace|Multimedia]]''' | |||
|- | |- | ||
| namespace | | namespace | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosPasteboard_Namespace|QOhosPasteboard]]''' | |||
|- | |- | ||
| namespace | | namespace | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/ShareKit_Namespace|ShareKit]]''' | |||
|} | |} | ||
== Classes == | == Classes == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
| class | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAppContext_Class|QOhosAppContext]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosBundleInfo_Class|QOhosBundleInfo]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosDistributedDataObject_Class|QOhosDistributedDataObject]]''' | |||
|- | |- | ||
| | | struct | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosElementName_Class|QOhosElementName]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class|QOhosOnContinueContext]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOpenLinkOptions_Class|QOhosOpenLinkOptions]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class|QOhosOperationStatus]]''' | |||
|- | |- | ||
| class | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]]''' | |||
|- | |- | ||
| class || '''[[QOhosWantInfo_Class|QOhosWantInfo]]''' || | | class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]]''' | |||
|- | |||
| struct | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]]''' | |||
|- | |||
| class | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWantInfo_Class|QOhosWantInfo]]''' | |||
|- | |||
| class | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWindowCreateParams_Class|QOhosWindowCreateParams]]''' | |||
|} | |} | ||
== Types == | == Types == | ||
{| class="wikitable | {| class="wikitable" | ||
|- | |- | ||
| enum | | enum class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#CloseEventRootCause-enum|CloseEventRootCause]]''' { InternalClose, AbilityClose, WindowStageClose } | |||
|- | |- | ||
| enum | | enum class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#QOhosWantFlag-enum|QOhosWantFlag]]''' { AuthReadUriPermission, AuthWriteUriPermission, InstallOnDemand } | |||
|- | |- | ||
| flags | | flags | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#QOhosWantFlag-enum|QOhosWantFlags]]''' | |||
|- | |- | ||
| enum | | enum class | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#WindowGeometryPersistenceHint-enum|WindowGeometryPersistenceHint]]''' { Disabled, Enabled, FollowSystemSetting } | |||
|} | |} | ||
== Functions == | == Functions == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| | | bool | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#authorizeFilePath|authorizeFilePath]]'''(QWindow *''parentWindow'', const QString &''filePath'') | |||
|- | |- | ||
| | | QSharedPointer<QOhosOpenLinkOptions> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#createOpenLinkOptions|createOpenLinkOptions]]'''() | |||
|- | |- | ||
| | | QSharedPointer<QOhosStartOptions> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#createStartOptions|createStartOptions]]'''() | |||
|- | |- | ||
| | | QSharedPointer<QOhosStartRequest> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#createStartRequest|createStartRequest]]'''(const QOhosStartOptions &''options'') | |||
|- | |- | ||
| | | QSharedPointer<QOhosWindowCreateParams> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#createWindowCreateParams|createWindowCreateParams]]'''() | |||
|- | |- | ||
| | | CloseEventRootCause | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#getCloseEventRootCause|getCloseEventRootCause]]'''(QCloseEvent *''closeEvent'') | |||
|- | |- | ||
| | | bool | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#moveFileToTrash|moveFileToTrash]]'''(const QString &''filePath'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setAbilityInstanceDestroyEnabled|setAbilityInstanceDestroyEnabled]]'''(QWindow *''instanceWindow'', bool ''destroyEnabled'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setBundledAbilityAndQWindowBindingKeyForQWindow|setBundledAbilityAndQWindowBindingKeyForQWindow]]'''(QWindow *''window'', const QString &''qAbilityQWindowBindingKey'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setMainWindowGeometryPersistenceHint|setMainWindowGeometryPersistenceHint]]'''(WindowGeometryPersistenceHint ''geometryPersistenceHint'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setShowWindowAsFloatWindowHint|setShowWindowAsFloatWindowHint]]'''(QWindow *''window'', bool ''showAsFloatWindow'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setShowWindowAsFloatWindowHint-1|setShowWindowAsFloatWindowHint]]'''(QWidget *''widget'', bool ''showAsFloatWindow'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setSurfaceBackgroundColor|setSurfaceBackgroundColor]]'''(QWindow *''window'', const QColor &''color'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setSurfaceBackgroundColor-1|setSurfaceBackgroundColor]]'''(QWidget *''widget'', const QColor &''color'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowCornerRadius|setWindowCornerRadius]]'''(QWindow *''window'', double ''radius'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowCornerRadius-1|setWindowCornerRadius]]'''(QWidget *''widget'', double ''radius'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowDragResizable|setWindowDragResizable]]'''(QWindow *''window'', bool ''dragResizable'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowDragResizable-1|setWindowDragResizable]]'''(QWidget *''widget'', bool ''dragResizable'') | |||
|- | |- | ||
| void | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowKeepScreenOn|setWindowKeepScreenOn]]'''(QWindow *''window'', bool ''keepScreenOn'') | |||
|- | |- | ||
| | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowKeepScreenOn-1|setWindowKeepScreenOn]]'''(QWidget *''widget'', bool ''keepScreenOn'') | |||
|- | |- | ||
| | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#setWindowPrivacyMode|setWindowPrivacyMode]]'''(QWindow *''window'', bool ''privacyModeEnabled'') | |||
|- | |- | ||
| QSharedPointer< | | QSharedPointer<QOhosOperationStatus> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAbility|startAbility]]'''(const QOhosWant &''want'') | |||
|- | |- | ||
| | | QSharedPointer<QOhosOperationStatus> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAbility-1|startAbility]]'''(const QOhosWant &''want'', const QOhosStartOptions &''options'') | |||
|- | |- | ||
| | | QSharedPointer<QOhosOperationStatus> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAbility-2|startAbility]]'''(const QOhosWant &''want'', const QOhosStartRequest &''startRequest'') | |||
|- | |- | ||
| | | QSharedPointer<QOhosOperationStatus> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAbilityByType|startAbilityByType]]'''(const QString &''appType'', const QJsonObject &''wantParameters'') | |||
|- | |- | ||
| | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAppProcess|startAppProcess]]'''(const QString &''processId'', const QOhosWant &''requestWant'') | |||
|- | |- | ||
| | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAppProcess-1|startAppProcess]]'''(const QString &''processId'', const QOhosWant &''requestWant'', const QOhosStartOptions &''options'') | |||
|- | |- | ||
| | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startAppProcess-2|startAppProcess]]'''(const QString &''processId'', const QOhosWant &''requestWant'', const QOhosStartRequest &''startRequest'') | |||
|- | |- | ||
| | | void | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#startNewAbilityInstance|startNewAbilityInstance]]'''(QWidget *''instanceWidget'') | |||
|- | |- | ||
| | | QSharedPointer<double> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#tryGetNativeWindowId|tryGetNativeWindowId]]'''(QWindow *''window'') | |||
|- | |- | ||
| | | QSharedPointer<QByteArray> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#tryGetOnContinueData|tryGetOnContinueData]]'''(const QOhosWant &''want'') | |||
|- | |- | ||
| | | QSharedPointer<double> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#tryGetScreenDisplayId|tryGetScreenDisplayId]]'''(QScreen *''screen'') | |||
|- | |- | ||
| | | QList<QSharedPointer<QOhosDistributedDataObject>> | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#tryRestoreOnContinueDistributedDataObjects|tryRestoreOnContinueDistributedDataObjects]]'''(const QOhosWant &''want'') | |||
|} | |} | ||
== Detailed Description == | == Detailed Description == | ||
< | == Namespaces == | ||
The QtOhosExtras namespace provides | |||
=== namespace QtOhosExtras::AppPermissions === | |||
<syntaxhighlight lang="cpp"> | |||
auto *appContext = QtOhosExtras::QOhosAppContext::instance(); | |||
if (!appContext->isPermissionGranted(QtOhosExtras::AppPermissions::Permission::AccessBluetooth)) { | |||
QObject::connect( | |||
appContext, &QtOhosExtras::QOhosAppContext::permissionRequestResponseWithResultReceived, | |||
[](QtOhosExtras::AppPermissions::Permission permission, | |||
QtOhosExtras::AppPermissions::PermissionResult result) { | |||
if (result.permissionGranted) { | |||
// start using the permission-protected feature ... | |||
} | |||
}); | |||
appContext->requestPermissionFromUserIfNeeded( | |||
QtOhosExtras::AppPermissions::Permission::AccessBluetooth); | |||
} | |||
</syntaxhighlight> | |||
This namespace was introduced in Qt 5.12.12. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAppContext_Class|QtOhosExtras::QOhosAppContext]] and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QtOhosExtras::QOhosAbilityContext]]. | |||
=== namespace QtOhosExtras::FileShare === | |||
This API uses file system paths, which differ from the URIs used internally by HarmonyOS. For example, the path <code>/data/storage/el1/bundle/entry/resources/resfile/test.txt</code> will be converted to the URI <code>file://com.your.example/data/storage/el1/bundle/entry/resources/resfile/test.txt</code> , where <code>com.your.example</code> is app bundle name. | |||
To learn more about file paths and URIs in HarmonyOS, see [https://developer.huawei.com/consumer/en/doc/harmonyos-guides-V5/app-sandbox-directory-V5 sandbox documentation]. | |||
'''Warning: '''This API relies on the underlying OHOS implementation. The following functions: [[Qt_for_HarmonyOS/qtohosextras_doc/FileShare_Namespace#persistPermission|persistPermission]](), [[Qt_for_HarmonyOS/qtohosextras_doc/FileShare_Namespace#revokePermission|revokePermission]](), [[Qt_for_HarmonyOS/qtohosextras_doc/FileShare_Namespace#activatePermission|activatePermission]](), [[Qt_for_HarmonyOS/qtohosextras_doc/FileShare_Namespace#deactivatePermission|deactivatePermission]](), and [[Qt_for_HarmonyOS/qtohosextras_doc/FileShare_Namespace#checkPersistent|checkPersistent]]() may be unavailable on some devices. Additionally, there may be limitations on the maximum number of policies, and certain permissions may need to be explicitly granted to the application. | |||
For more details and limitations, refer to the [https://developer.huawei.com/consumer/en/doc/harmonyos-guides-V14/native-fileshare-guidelines-V14 API documentation]. | |||
This namespace was introduced in Qt 5.12.12. | |||
=== namespace QtOhosExtras::Multimedia === | |||
The Multimedia namespace contains functions and types for controlling audio stream usage on HarmonyOS. It allows setting audio stream usage hints on QSoundEffect and QSound objects, which influences how the system routes and manages audio output. | |||
This namespace was introduced in Qt 5.12.12. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/Multimedia_Namespace#AudioStreamUsageHint-enum|QtOhosExtras::Multimedia::AudioStreamUsageHint]]. | |||
=== namespace QtOhosExtras::QOhosPasteboard === | |||
This namespace was introduced in Qt 5.12.12. | |||
=== namespace QtOhosExtras::ShareKit === | |||
This namespace was introduced in Qt 5.12.12. | |||
== Classes == | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] === | |||
The QOhosAbilityContext class is to manage native UI Ability context. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5 UIAbilityContext]. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAppContext_Class|QOhosAppContext]] === | |||
The QOhosAppContext class contains API to manage native application context. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAppContext_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosBundleInfo_Class|QOhosBundleInfo]] === | |||
The QOhosBundleInfo class contains API to provide native application bundle info. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosBundleInfo_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosDistributedDataObject_Class|QOhosDistributedDataObject]] === | |||
The QOhosDistributedDataObject class shares a fixed set of named fields across devices that belong to the same trusted network. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosDistributedDataObject_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosElementName_Class|QOhosElementName]] === | |||
The QOhosElementName struct identifies an ability component. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosElementName_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class|QOhosOnContinueContext]] === | |||
The QOhosOnContinueContext class manages onContinue context. It provides system data, like source application version code and set the onContinue result that is requested by the system. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V13/js-apis-app-ability-uiability-V13#uiabilityoncontinue UIAbility onContinue]. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOpenLinkOptions_Class|QOhosOpenLinkOptions]] === | |||
The QOhosOpenLinkOptions class provides options for the [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#tryOpenLink|QOhosAbilityContext::tryOpenLink]]() call. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOpenLinkOptions_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class|QOhosOperationStatus]] === | |||
The QOhosOperationStatus class provides an interface to check an operation status. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]] === | |||
The QOhosStartOptions class is to provide new options for new started ability or process. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]] === | |||
The QOhosStartRequest class emits signals for start ability. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] === | |||
QOhosWant wraps Ohos [https://developer.huawei.com/consumer/en/doc/harmonyos-guides-V5/want-V5 Want] class. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWantInfo_Class|QOhosWantInfo]] === | |||
The QOhosWantInfo class is to represent Ohos want type. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWantInfo_Class#details|More...]] | |||
=== class [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWindowCreateParams_Class|QOhosWindowCreateParams]] === | |||
The QOhosWindowCreateParams class provides window creation parameters for a started ability window. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWindowCreateParams_Class#details|More...]] | |||
== Type Documentation == | == Type Documentation == | ||
=== <span id="CloseEventRootCause-enum"></span>enum QtOhosExtras::CloseEventRootCause === | === <span id="CloseEventRootCause-enum"></span>enum class QtOhosExtras::CloseEventRootCause === | ||
Enumerates the close event root cause. | Enumerates the close event root cause. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| QtOhosExtras::InternalClose | | ! Constant | ||
! Value | |||
! Description | |||
|- | |||
| <code>QtOhosExtras::CloseEventRootCause::InternalClose</code> | |||
| <code>0</code> | |||
| Close root cause not specified or unknown. | |||
|- | |- | ||
| QtOhosExtras::AbilityClose | | | <code>QtOhosExtras::CloseEventRootCause::AbilityClose</code> | ||
| <code>1</code> | |||
| Close root cause of preparing to terminate. | |||
|- | |- | ||
| QtOhosExtras::WindowStageClose | | | <code>QtOhosExtras::CloseEventRootCause::WindowStageClose</code> | ||
| <code>2</code> | |||
| Close root cause of native Window Stage or Sub-Window close. | |||
|} | |} | ||
This enum was introduced or modified in Qt 5.12.12. | This enum was introduced or modified in Qt 5.12.12. | ||
=== <span id="QOhosWantFlag-enum"></span>enum QtOhosExtras::QOhosWantFlag<br/>flags QtOhosExtras::QOhosWantFlags === | === <span id="QOhosWantFlag-enum"></span>enum class QtOhosExtras::QOhosWantFlag<br/>flags QtOhosExtras::QOhosWantFlags === | ||
QOhosWantFlag specifies how the Want will be handled. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-ability-wantconstant-V5#flags Flags]. | QOhosWantFlag specifies how the Want will be handled. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-ability-wantconstant-V5#flags Flags]. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| QtOhosExtras::AuthReadUriPermission | | ! Constant | ||
! Value | |||
! Description | |||
|- | |||
| <code>QtOhosExtras::QOhosWantFlag::AuthReadUriPermission</code> | |||
| <code>1 << 0</code> | |||
| Grants the permission to read the URI. | |||
|- | |- | ||
| QtOhosExtras::AuthWriteUriPermission | | | <code>QtOhosExtras::QOhosWantFlag::AuthWriteUriPermission</code> | ||
| <code>1 << 1</code> | |||
| Grants the permission to write data to the URI. | |||
|- | |- | ||
| QtOhosExtras::InstallOnDemand | | | <code>QtOhosExtras::QOhosWantFlag::InstallOnDemand</code> | ||
| <code>1 << 2</code> | |||
| Ability will be installed if it has not been installed. | |||
|} | |} | ||
This enum was introduced or modified in Qt 5.12.12. | This enum was introduced or modified in Qt 5.12.12. | ||
The QOhosWantFlags type is a typedef for QFlags<QOhosWantFlag>. It stores an OR combination of QOhosWantFlag values. | The QOhosWantFlags type is a typedef for [https://doc.qt.io/qt-5/qflags.html QFlags]<QOhosWantFlag>. It stores an OR combination of QOhosWantFlag values. | ||
=== <span id="WindowGeometryPersistenceHint-enum"></span>enum QtOhosExtras::WindowGeometryPersistenceHint === | === <span id="WindowGeometryPersistenceHint-enum"></span>enum class QtOhosExtras::WindowGeometryPersistenceHint === | ||
Enumerates the policy for window geometry persistence support. Specifies how a window’s geometry (the size and position) is determined when it is shown. | Enumerates the policy for window geometry persistence support. Specifies how a window’s geometry (the size and position) is determined when it is shown. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Constant | |||
! Value | |||
! Description | |||
|- | |- | ||
| QtOhosExtras:: | | <code>QtOhosExtras::WindowGeometryPersistenceHint::Disabled</code> | ||
| <code>0</code> | |||
| Use default window's geometry. | |||
|- | |- | ||
| QtOhosExtras::FollowSystemSetting | | | <code>QtOhosExtras::WindowGeometryPersistenceHint::Enabled</code> | ||
| <code>1</code> | |||
| Restore previous window's geometry (position and size when before window was closed). | |||
|- | |||
| <code>QtOhosExtras::WindowGeometryPersistenceHint::FollowSystemSetting</code> | |||
| <code>2</code> | |||
| Let the system decide whether to use <code>Disabled</code> or <code>Enabled</code> value. | |||
|} | |} | ||
| Line 230: | Line 393: | ||
== Function Documentation == | == Function Documentation == | ||
=== <span id="authorizeFilePath"></span>bool QtOhosExtras::authorizeFilePath(QWindow *parentWindow, const QString &filePath) === | === <span id="authorizeFilePath"></span>bool QtOhosExtras::authorizeFilePath([https://doc.qt.io/qt-5/qwindow.html QWindow] *''parentWindow'', const [https://doc.qt.io/qt-5/qstring.html QString] &''filePath'') === | ||
Request authorization on the User selected ''parentWindow'' for a given ''filePath''. The system File Dialog in authorization mode will be presented to the User. According to User choice returns true if file path is authorized, false otherwise. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-file-picker#documentselectoptions authMode] | Request authorization on the User selected ''parentWindow'' for a given ''filePath''. The system File Dialog in authorization mode will be presented to the User. According to User choice returns true if file path is authorized, false otherwise. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-file-picker#documentselectoptions authMode] | ||
This function was introduced in Qt 5.12.12. | This function was introduced in Qt 5.12.12. | ||
=== <span id=" | === <span id="createOpenLinkOptions"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOpenLinkOptions_Class|QOhosOpenLinkOptions]]> QtOhosExtras::createOpenLinkOptions() === | ||
( | |||
Creates an options object to be used with [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#tryOpenLink|QOhosAbilityContext::tryOpenLink]](). | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#tryOpenLink|QOhosAbilityContext::tryOpenLink]](). | |||
=== <span id="createStartOptions"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]]> QtOhosExtras::createStartOptions() === | |||
Creates [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]] instance. | |||
=== <span id="createStartRequest"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]]> QtOhosExtras::createStartRequest(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]] &''options'') === | |||
Creates a start request for given ''options'' and adapts the completion handler into Qt signals. | |||
Connect to [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestSucceeded|QOhosStartRequest::requestSucceeded]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestFailed|QOhosStartRequest::requestFailed]]() to receive completion handler results. | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-app-ability-startoptions Completion Handler]. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]]. | |||
=== <span id="createWindowCreateParams"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWindowCreateParams_Class|QOhosWindowCreateParams]]> QtOhosExtras::createWindowCreateParams() === | |||
Creates [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWindowCreateParams_Class|QOhosWindowCreateParams]] instance. | |||
=== <span id="getCloseEventRootCause"></span>[[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#CloseEventRootCause-enum|CloseEventRootCause]] QtOhosExtras::getCloseEventRootCause([https://doc.qt.io/qt-5/qcloseevent.html QCloseEvent] *''closeEvent'') === | |||
Converts a given ''closeEvent'' to [[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#CloseEventRootCause-enum|QtOhosExtras::CloseEventRootCause]] and returns the related value. | |||
=== <span id="moveFileToTrash"></span>bool QtOhosExtras::moveFileToTrash(const QString &filePath) === | === <span id="moveFileToTrash"></span>bool QtOhosExtras::moveFileToTrash(const [https://doc.qt.io/qt-5/qstring.html QString] &''filePath'') === | ||
Moves the file specified by ''filePath'' to the trash. Returns true if successful, false otherwise. | Moves the file specified by ''filePath'' to the trash. Returns true if successful, false otherwise. | ||
This function provides functionality of QFile::moveToTrash() from Qt 5.15. | This function provides functionality of [https://doc.qt.io/qt-5/qfile.html#moveToTrash QFile::moveToTrash]() from Qt 5.15. | ||
=== <span id="setAbilityInstanceDestroyEnabled"></span>void QtOhosExtras::setAbilityInstanceDestroyEnabled([https://doc.qt.io/qt-5/qwindow.html QWindow] *''instanceWindow'', bool ''destroyEnabled'') === | |||
Sets whether the Ability related with ''instanceWindow'' can be automatically destroyed by the system when the user clicks on the window's "close" button. If ''destroyEnabled'' is <code>true</code>, the system destroys the Ability automatically (and Qt needs to adapt to this). If ''destroyEnabled'' = <code>false</code>, the window is not automatically destroyed, but instead standard Qt path for window close is triggered, i.e. [https://doc.qt.io/qt-5/qwindow.html#close QWindow::close](). | |||
By default, the flag is set to <code>false</code>. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#setDestroyFromSystemEnabled|QOhosAbilityContext::setDestroyFromSystemEnabled]](). | |||
=== <span id="setBundledAbilityAndQWindowBindingKeyForQWindow"></span>void QtOhosExtras::setBundledAbilityAndQWindowBindingKeyForQWindow([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', const [https://doc.qt.io/qt-5/qstring.html QString] &''qAbilityQWindowBindingKey'') === | |||
''' | Function marks that the window is supposed to be used with QBundledEmbeddedUiExtensionAbility instance that has specific "Ability <=> [https://doc.qt.io/qt-5/qwindow.html QWindow] binding key" assigned in form of 'io.qt.public.bundledAbilityAndQWindowBindingKey' want parameter matching the provided ''qAbilityQWindowBindingKey''. | ||
=== <span id="setMainWindowGeometryPersistenceHint"></span>void QtOhosExtras::setMainWindowGeometryPersistenceHint( | The ''window'' that is passed to this function needs to have no parent/transient parent any may not be visible. The window will become visible either after the function call, if the corresponding instance of the QBundledEmbeddedUiExtensionAbility is already present, or after the corresponding instance is started. | ||
The concept of multiple EmbeddedUIExtensionAbilities is described in OpenHarmony docs: https://gitee.com/openharmony/docs/blob/master/en/application-dev/application-models/embeddeduiextensionability.md | |||
=== <span id="setMainWindowGeometryPersistenceHint"></span>void QtOhosExtras::setMainWindowGeometryPersistenceHint([[Qt_for_HarmonyOS/qtohosextras_doc/QtOhosExtras_Namespace#WindowGeometryPersistenceHint-enum|WindowGeometryPersistenceHint]] ''geometryPersistenceHint'') === | |||
Sets a given ''geometryPersistenceHint'' on first main window shown. | Sets a given ''geometryPersistenceHint'' on first main window shown. | ||
| Line 275: | Line 461: | ||
Read about details in [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-window#setwindowrectautosave here]. | Read about details in [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-window#setwindowrectautosave here]. | ||
=== <span id="setShowWindowAsFloatWindowHint"></span>void QtOhosExtras::setShowWindowAsFloatWindowHint(QWindow *window, bool showAsFloatWindow) === | === <span id="setShowWindowAsFloatWindowHint"></span>void QtOhosExtras::setShowWindowAsFloatWindowHint([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', bool ''showAsFloatWindow'') === | ||
Sets or unsets a given ''window'' as floating window according to ''showAsFloatWindow'' flag. Read more about floating window type [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5 here]. | Sets or unsets a given ''window'' as floating window according to ''showAsFloatWindow'' flag. Read more about floating window type [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5 here]. | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
auto window = std::make_unique<MainWindow>(); | auto window = std::make_unique<MainWindow>(); | ||
QtOhosExtras::setShowWindowAsFloatWindowHint(window.get(), true); | QtOhosExtras::setShowWindowAsFloatWindowHint(window.get(), true); | ||
window->show(); | window->show(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <span id="setShowWindowAsFloatWindowHint-1"></span>void QtOhosExtras::setShowWindowAsFloatWindowHint(QWidget *widget, bool showAsFloatWindow) === | === <span id="setShowWindowAsFloatWindowHint-1"></span>void QtOhosExtras::setShowWindowAsFloatWindowHint([https://doc.qt.io/qt-5/qwidget.html QWidget] *''widget'', bool ''showAsFloatWindow'') === | ||
Sets or unsets a given ''widget'' as floating window according to ''showAsFloatWindow'' flag. Read more about floating window type [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5 here]. | Sets or unsets a given ''widget'' as floating window according to ''showAsFloatWindow'' flag. Read more about floating window type [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5 here]. | ||
=== <span id="setSurfaceBackgroundColor"></span>void QtOhosExtras::setSurfaceBackgroundColor(QWindow *window, const QColor &color) === | === <span id="setSurfaceBackgroundColor"></span>void QtOhosExtras::setSurfaceBackgroundColor([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', const [https://doc.qt.io/qt-5/qcolor.html QColor] &''color'') === | ||
Sets a given ''color'' as background color on the ''window'' inner native layer. | Sets a given ''color'' as background color on the ''window'' inner native layer. | ||
=== <span id="setSurfaceBackgroundColor-1"></span>void QtOhosExtras::setSurfaceBackgroundColor(QWidget *widget, const QColor &color) === | === <span id="setSurfaceBackgroundColor-1"></span>void QtOhosExtras::setSurfaceBackgroundColor([https://doc.qt.io/qt-5/qwidget.html QWidget] *''widget'', const [https://doc.qt.io/qt-5/qcolor.html QColor] &''color'') === | ||
Sets a given ''color'' as background color on the ''widget'' inner native layer. | Sets a given ''color'' as background color on the ''widget'' inner native layer. | ||
'''Warning:''' Currently, dynamic color change on a widget is not supported yet. | '''Warning: '''Currently, dynamic color change on a widget is not supported yet. | ||
=== <span id="setWindowCornerRadius"></span>void QtOhosExtras::setWindowCornerRadius(QWindow *window, double radius) === | === <span id="setWindowCornerRadius"></span>void QtOhosExtras::setWindowCornerRadius([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', double ''radius'') === | ||
Sets corner ''radius'' for a ''window''. Given ''window'' has to be a sub or floating window type. It can be achieved for example: - by setting Qt::WindowFlags, like: Qt::Window, Qt::Popup, Qt::Dialog etc. - explicitly using QtOhosExtras::setShowWindowAsFloatWindowHint() function. More on windows in: [https://doc.qt.io/archives/qt-5.15/qwindow.html Qt official docs]. The ''radius'' must not be a negative number. There's no upper limit in value, although visually OHOS uses maximum achievable value. In order for this function to work properly, it has to be called before the window is shown. | Sets corner ''radius'' for a ''window''. Given ''window'' has to be a sub or floating window type. It can be achieved for example: - by setting [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::WindowFlags], like: [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::Window], [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::Popup], [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::Dialog] etc. - explicitly using QtOhosExtras::setShowWindowAsFloatWindowHint() function. More on windows in: [https://doc.qt.io/archives/qt-5.15/qwindow.html Qt official docs]. The ''radius'' must not be a negative number. There's no upper limit in value, although visually OHOS uses maximum achievable value. In order for this function to work properly, it has to be called before the window is shown. | ||
Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-window here]. | Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-window here]. | ||
=== <span id="setWindowCornerRadius-1"></span>void QtOhosExtras::setWindowCornerRadius(QWidget *widget, double radius) === | === <span id="setWindowCornerRadius-1"></span>void QtOhosExtras::setWindowCornerRadius([https://doc.qt.io/qt-5/qwidget.html QWidget] *''widget'', double ''radius'') === | ||
Sets corner ''radius'' for a ''widget''. Given ''widget'' has to be formed as a new window, it means it cannot be embedded in a parent widget. It can be achieved for example: - by setting Qt::WindowFlags, like: Qt::Window, Qt::Popup, Qt::Dialog etc. - explicitly using QtOhosExtras::setShowWindowAsFloatWindowHint() function. More on widgets as windows in: [https://doc.qt.io/archives/qt-5.15/qwidget.html Qt official docs]. The ''radius'' must not be a negative number. There's no upper limit in value, although visually OHOS uses maximum achievable value. In order for this function to work properly, it has to be called before the widget is shown. | Sets corner ''radius'' for a ''widget''. Given ''widget'' has to be formed as a new window, it means it cannot be embedded in a parent widget. It can be achieved for example: - by setting [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::WindowFlags], like: [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::Window], [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::Popup], [https://doc.qt.io/qt-5/qt.html#WindowType-enum Qt::Dialog] etc. - explicitly using QtOhosExtras::setShowWindowAsFloatWindowHint() function. More on widgets as windows in: [https://doc.qt.io/archives/qt-5.15/qwidget.html Qt official docs]. The ''radius'' must not be a negative number. There's no upper limit in value, although visually OHOS uses maximum achievable value. In order for this function to work properly, it has to be called before the widget is shown. | ||
Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-window here]. | Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-window here]. | ||
=== <span id="setWindowKeepScreenOn"></span>void QtOhosExtras::setWindowKeepScreenOn(QWindow *window, bool keepScreenOn) === | === <span id="setWindowDragResizable"></span>void QtOhosExtras::setWindowDragResizable([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', bool ''dragResizable'') === | ||
Enables or disables ''window'' resize ability (dragging), as per the ''dragResizable'' parameter. | |||
The function takes effect on sub windows and floating windows. | |||
'''Note: '''This function can be called on a ''window'' after being shown. | |||
'''Note: '''The functionality isn't supported on application main windows (i.e. first [https://doc.qt.io/qt-5/qwidget.html QWidget] shown in application, or [https://doc.qt.io/qt-5/qwidget.html QWidget] shown without parent, or [https://doc.qt.io/qt-5/qwidget.html QWidget] explicitly tagged as main window before show). | |||
Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references/arkts-apis-window-window#enabledrag20 here]. | |||
=== <span id="setWindowDragResizable-1"></span>void QtOhosExtras::setWindowDragResizable([https://doc.qt.io/qt-5/qwidget.html QWidget] *''widget'', bool ''dragResizable'') === | |||
Enables or disables ''widget'' resize ability (dragging). | |||
Given ''widget'' has to be formed as a new window, it means it cannot be embedded in a parent widget. The function takes effect on sub windows (window flags: <code>Qt::Window</code>, <code>Qt::Dialog</code>, <code>Qt::Popup</code>, <code>Qt::ToolTip</code> etc) and floating windows (marked with <code>QtOhosExtras::setShowWindowAsFloatWindowHint()</code> function) | |||
'''Note: '''This function can be called on a ''widget'' before as well as after being shown. | |||
'''Note: '''The functionality isn't supported on application main windows (i.e. first [https://doc.qt.io/qt-5/qwidget.html QWidget] shown in application, or [https://doc.qt.io/qt-5/qwidget.html QWidget] shown without parent, or [https://doc.qt.io/qt-5/qwidget.html QWidget] explicitly tagged as main window before show). | |||
Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references/arkts-apis-window-window#enabledrag20 here]. | |||
=== <span id="setWindowKeepScreenOn"></span>void QtOhosExtras::setWindowKeepScreenOn([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', bool ''keepScreenOn'') === | |||
Sets or unsets a given ''window'' to keep the screen on according to ''keepScreenOn'' flag. | Sets or unsets a given ''window'' to keep the screen on according to ''keepScreenOn'' flag. | ||
| Line 317: | Line 529: | ||
Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#setwindowkeepscreenon here]. | Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#setwindowkeepscreenon here]. | ||
=== <span id="setWindowKeepScreenOn-1"></span>void QtOhosExtras::setWindowKeepScreenOn(QWidget *widget, bool keepScreenOn) === | === <span id="setWindowKeepScreenOn-1"></span>void QtOhosExtras::setWindowKeepScreenOn([https://doc.qt.io/qt-5/qwidget.html QWidget] *''widget'', bool ''keepScreenOn'') === | ||
Sets or unsets a given ''widget'' to keep the screen on according to ''keepScreenOn'' flag. | Sets or unsets a given ''widget'' to keep the screen on according to ''keepScreenOn'' flag. | ||
| Line 323: | Line 535: | ||
Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#setwindowkeepscreenon here]. | Read more: [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#setwindowkeepscreenon here]. | ||
=== <span id="setWindowPrivacyMode"></span>void QtOhosExtras::setWindowPrivacyMode(QWindow *window, bool privacyModeEnabled) === | === <span id="setWindowPrivacyMode"></span>void QtOhosExtras::setWindowPrivacyMode([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'', bool ''privacyModeEnabled'') === | ||
Change window privacy mode according to a given ''window'' and ''privacyModeEnabled''. Read more about window privacy mode [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#setwindowprivacymode9 here] | Change window privacy mode according to a given ''window'' and ''privacyModeEnabled''. Read more about window privacy mode [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#setwindowprivacymode9 here] | ||
=== <span id="startAbility"></span>QSharedPointer< | === <span id="startAbility"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class|QOhosOperationStatus]]> QtOhosExtras::startAbility(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'') === | ||
Starts an Ability for a given ''want''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability Start Ability]. | Starts an Ability for a given ''want''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability Start Ability]. | ||
'''Warning:''' Currently, operation status result is hardcoded as "successful" (even if ability were not started). | '''Warning: '''Currently, operation status result is hardcoded as "successful" (even if ability were not started). | ||
=== <span id="startAbility-1"></span>QSharedPointer< | === <span id="startAbility-1"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class|QOhosOperationStatus]]> QtOhosExtras::startAbility(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]] &''options'') === | ||
Starts an Ability for a given ''want'' and ''options''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability-1 Start Ability]. | Starts an Ability for a given ''want'' and ''options''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability-1 Start Ability]. | ||
'''Warning:''' Currently, operation status result is hardcoded as "successful" (even if ability were not started). | '''Warning: '''Currently, operation status result is hardcoded as "successful" (even if ability were not started). | ||
=== <span id="startAbility-2"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class|QOhosOperationStatus]]> QtOhosExtras::startAbility(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]] &''startRequest'') === | |||
Starts an Ability for a given ''want'' and ''startRequest''. | |||
=== <span id="startAbilityByType"></span>QSharedPointer< | The ''startRequest'' carries the completion handler from start options. Connect to [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestSucceeded|QOhosStartRequest::requestSucceeded]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestFailed|QOhosStartRequest::requestFailed]]() to receive completion handler results. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability-1 Start Ability]. | ||
=== <span id="startAbilityByType"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class|QOhosOperationStatus]]> QtOhosExtras::startAbilityByType(const [https://doc.qt.io/qt-5/qstring.html QString] &''appType'', const [https://doc.qt.io/qt-5/qjsonobject.html QJsonObject] &''wantParameters'') === | |||
Starts an Ability for a given ''appType'' and ''wantParameters''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartabilitybytype11-1 Start Ability]. | Starts an Ability for a given ''appType'' and ''wantParameters''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartabilitybytype11-1 Start Ability]. | ||
Returns | Returns an operation status object; its [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOperationStatus_Class#success|QOhosOperationStatus::success]]() reports whether the request succeeded. | ||
=== <span id="startAppProcess"></span>void QtOhosExtras::startAppProcess(const QString &processId, const | === <span id="startAppProcess"></span>void QtOhosExtras::startAppProcess(const [https://doc.qt.io/qt-5/qstring.html QString] &''processId'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''requestWant'') === | ||
Starts application process for a given ''processId'' and ''requestWant''. | Starts application process for a given ''processId'' and ''requestWant''. | ||
=== <span id="startAppProcess-1"></span>void QtOhosExtras::startAppProcess(const QString &processId, const | === <span id="startAppProcess-1"></span>void QtOhosExtras::startAppProcess(const [https://doc.qt.io/qt-5/qstring.html QString] &''processId'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''requestWant'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]] &''options'') === | ||
Starts application process for a given ''processId'', ''requestWant'' and ''options''. | Starts application process for a given ''processId'', ''requestWant'' and ''options''. | ||
=== <span id=" | === <span id="startAppProcess-2"></span>void QtOhosExtras::startAppProcess(const [https://doc.qt.io/qt-5/qstring.html QString] &''processId'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''requestWant'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]] &''startRequest'') === | ||
Starts application process for a given ''processId'', ''requestWant'' and ''startRequest''. The ''startRequest'' carries the completion handler from start options. Connect to [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestSucceeded|QOhosStartRequest::requestSucceeded]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestFailed|QOhosStartRequest::requestFailed]]() to receive completion handler results. | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextstartability-1 Start Ability]. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]]. | |||
=== <span id="startNewAbilityInstance"></span>void QtOhosExtras::startNewAbilityInstance([https://doc.qt.io/qt-5/qwidget.html QWidget] *''instanceWidget'') === | |||
Starts another instance of the UIAbility used by the Qt app with specified widget inside | |||
The caller should pass newly created [https://doc.qt.io/qt-5/qwidget.html QWidget] ''instanceWidget'', without any setting any parent, calling show() or winId() on it. | |||
=== <span id="tryGetNativeWindowId"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<double> QtOhosExtras::tryGetNativeWindowId([https://doc.qt.io/qt-5/qwindow.html QWindow] *''window'') === | |||
'' | Function tries to obtain native window ID (ID associated with system window object) of given ''window''. The failure of the operation is indicated by returned value equal to <code>nullptr</code>. | ||
''' | '''Note: '''This function must be called only after the ''window'' has been shown. | ||
'''Warning: '''Returned native window ID isn't guaranteed to be valid throughout the lifetime of application. Application stability and performance may be poor after using this function, use it at your own risk! | |||
Read more on native window ID (WindowProperties.id): [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-window-V5#windowproperties here] | |||
=== <span id=" | === <span id="tryGetOnContinueData"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[https://doc.qt.io/qt-5/qbytearray.html QByteArray]> QtOhosExtras::tryGetOnContinueData(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'') === | ||
Tries to get continuation / migration related data that was provided on the source device. Returns <code>nullptr</code> if no such data found. The data is expected to be stored in the ''want'' parameters. See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides/app-continuation-guide Application Continuation]. | |||
=== <span id="tryGetScreenDisplayId"></span>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<double> QtOhosExtras::tryGetScreenDisplayId([https://doc.qt.io/qt-5/qscreen.html QScreen] *''screen'') === | |||
Function tries to obtain native display ID of given ''screen''. The failure of the operation is indicated by returning <code>nullptr</code> . | |||
Read more on display ID (Display.id): [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-display-V5#display here] | |||
=== <span id=" | === <span id="tryRestoreOnContinueDistributedDataObjects"></span>[https://doc.qt.io/qt-5/qlist.html QList]<[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosDistributedDataObject_Class|QOhosDistributedDataObject]]>> QtOhosExtras::tryRestoreOnContinueDistributedDataObjects(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'') === | ||
Recreates the distributed data objects that were migrated in ''want'' by [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#setResponseOnDistributedDataObjectsSaveResults|QOhosOnContinueContext::setResponseOnDistributedDataObjectsSaveResults]]() on the source device, and returns them. Returns an empty list if ''want'' carries no distributed data objects. | |||
Each returned object joins its session asynchronously, so connect to its dataChanged(), statusChanged() and progressChanged() signals right away to avoid missing the initial sync. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#setResponseOnDistributedDataObjectsSaveResults|QOhosOnContinueContext::setResponseOnDistributedDataObjectsSaveResults]](). | |||
[[Category:Qt for HarmonyOS]] | [[Category:Qt for HarmonyOS]] | ||
Latest revision as of 06:30, 17 September 2026
QtOhosExtras Namespace
The QtOhosExtras namespace provides miscellaneous functions to aid Ohos development. More...
| Header: | #include <QtOhosExtras> |
| qmake: | QT += ohosextras |
| Since: | Qt 5.12.12 |
This namespace was introduced in Qt 5.12.12.
Namespaces
| namespace | AppPermissions |
| namespace | FileShare |
| namespace | Multimedia |
| namespace | QOhosPasteboard |
| namespace | ShareKit |
Classes
| class | QOhosAbilityContext |
| class | QOhosAppContext |
| class | QOhosBundleInfo |
| class | QOhosDistributedDataObject |
| struct | QOhosElementName |
| class | QOhosOnContinueContext |
| class | QOhosOpenLinkOptions |
| class | QOhosOperationStatus |
| class | QOhosStartOptions |
| class | QOhosStartRequest |
| struct | QOhosWant |
| class | QOhosWantInfo |
| class | QOhosWindowCreateParams |
Types
| enum class | CloseEventRootCause { InternalClose, AbilityClose, WindowStageClose } |
| enum class | QOhosWantFlag { AuthReadUriPermission, AuthWriteUriPermission, InstallOnDemand } |
| flags | QOhosWantFlags |
| enum class | WindowGeometryPersistenceHint { Disabled, Enabled, FollowSystemSetting } |
Functions
| bool | authorizeFilePath(QWindow *parentWindow, const QString &filePath) |
| QSharedPointer<QOhosOpenLinkOptions> | createOpenLinkOptions() |
| QSharedPointer<QOhosStartOptions> | createStartOptions() |
| QSharedPointer<QOhosStartRequest> | createStartRequest(const QOhosStartOptions &options) |
| QSharedPointer<QOhosWindowCreateParams> | createWindowCreateParams() |
| CloseEventRootCause | getCloseEventRootCause(QCloseEvent *closeEvent) |
| bool | moveFileToTrash(const QString &filePath) |
| void | setAbilityInstanceDestroyEnabled(QWindow *instanceWindow, bool destroyEnabled) |
| void | setBundledAbilityAndQWindowBindingKeyForQWindow(QWindow *window, const QString &qAbilityQWindowBindingKey) |
| void | setMainWindowGeometryPersistenceHint(WindowGeometryPersistenceHint geometryPersistenceHint) |
| void | setShowWindowAsFloatWindowHint(QWindow *window, bool showAsFloatWindow) |
| void | setShowWindowAsFloatWindowHint(QWidget *widget, bool showAsFloatWindow) |
| void | setSurfaceBackgroundColor(QWindow *window, const QColor &color) |
| void | setSurfaceBackgroundColor(QWidget *widget, const QColor &color) |
| void | setWindowCornerRadius(QWindow *window, double radius) |
| void | setWindowCornerRadius(QWidget *widget, double radius) |
| void | setWindowDragResizable(QWindow *window, bool dragResizable) |
| void | setWindowDragResizable(QWidget *widget, bool dragResizable) |
| void | setWindowKeepScreenOn(QWindow *window, bool keepScreenOn) |
| void | setWindowKeepScreenOn(QWidget *widget, bool keepScreenOn) |
| void | setWindowPrivacyMode(QWindow *window, bool privacyModeEnabled) |
| QSharedPointer<QOhosOperationStatus> | startAbility(const QOhosWant &want) |
| QSharedPointer<QOhosOperationStatus> | startAbility(const QOhosWant &want, const QOhosStartOptions &options) |
| QSharedPointer<QOhosOperationStatus> | startAbility(const QOhosWant &want, const QOhosStartRequest &startRequest) |
| QSharedPointer<QOhosOperationStatus> | startAbilityByType(const QString &appType, const QJsonObject &wantParameters) |
| void | startAppProcess(const QString &processId, const QOhosWant &requestWant) |
| void | startAppProcess(const QString &processId, const QOhosWant &requestWant, const QOhosStartOptions &options) |
| void | startAppProcess(const QString &processId, const QOhosWant &requestWant, const QOhosStartRequest &startRequest) |
| void | startNewAbilityInstance(QWidget *instanceWidget) |
| QSharedPointer<double> | tryGetNativeWindowId(QWindow *window) |
| QSharedPointer<QByteArray> | tryGetOnContinueData(const QOhosWant &want) |
| QSharedPointer<double> | tryGetScreenDisplayId(QScreen *screen) |
| QList<QSharedPointer<QOhosDistributedDataObject>> | tryRestoreOnContinueDistributedDataObjects(const QOhosWant &want) |
Detailed Description
Namespaces
namespace QtOhosExtras::AppPermissions
auto *appContext = QtOhosExtras::QOhosAppContext::instance();
if (!appContext->isPermissionGranted(QtOhosExtras::AppPermissions::Permission::AccessBluetooth)) {
QObject::connect(
appContext, &QtOhosExtras::QOhosAppContext::permissionRequestResponseWithResultReceived,
[](QtOhosExtras::AppPermissions::Permission permission,
QtOhosExtras::AppPermissions::PermissionResult result) {
if (result.permissionGranted) {
// start using the permission-protected feature ...
}
});
appContext->requestPermissionFromUserIfNeeded(
QtOhosExtras::AppPermissions::Permission::AccessBluetooth);
}
This namespace was introduced in Qt 5.12.12.
See also QtOhosExtras::QOhosAppContext and QtOhosExtras::QOhosAbilityContext.
This API uses file system paths, which differ from the URIs used internally by HarmonyOS. For example, the path /data/storage/el1/bundle/entry/resources/resfile/test.txt will be converted to the URI file://com.your.example/data/storage/el1/bundle/entry/resources/resfile/test.txt , where com.your.example is app bundle name.
To learn more about file paths and URIs in HarmonyOS, see sandbox documentation.
Warning: This API relies on the underlying OHOS implementation. The following functions: persistPermission(), revokePermission(), activatePermission(), deactivatePermission(), and checkPersistent() may be unavailable on some devices. Additionally, there may be limitations on the maximum number of policies, and certain permissions may need to be explicitly granted to the application.
For more details and limitations, refer to the API documentation.
This namespace was introduced in Qt 5.12.12.
namespace QtOhosExtras::Multimedia
The Multimedia namespace contains functions and types for controlling audio stream usage on HarmonyOS. It allows setting audio stream usage hints on QSoundEffect and QSound objects, which influences how the system routes and manages audio output.
This namespace was introduced in Qt 5.12.12.
See also QtOhosExtras::Multimedia::AudioStreamUsageHint.
namespace QtOhosExtras::QOhosPasteboard
This namespace was introduced in Qt 5.12.12.
This namespace was introduced in Qt 5.12.12.
Classes
class QOhosAbilityContext
The QOhosAbilityContext class is to manage native UI Ability context. See UIAbilityContext. More...
class QOhosAppContext
The QOhosAppContext class contains API to manage native application context. More...
class QOhosBundleInfo
The QOhosBundleInfo class contains API to provide native application bundle info. More...
class QOhosDistributedDataObject
The QOhosDistributedDataObject class shares a fixed set of named fields across devices that belong to the same trusted network. More...
class QOhosElementName
The QOhosElementName struct identifies an ability component. More...
class QOhosOnContinueContext
The QOhosOnContinueContext class manages onContinue context. It provides system data, like source application version code and set the onContinue result that is requested by the system. See UIAbility onContinue. More...
class QOhosOpenLinkOptions
The QOhosOpenLinkOptions class provides options for the QOhosAbilityContext::tryOpenLink() call. More...
class QOhosOperationStatus
The QOhosOperationStatus class provides an interface to check an operation status. More...
class QOhosStartOptions
The QOhosStartOptions class is to provide new options for new started ability or process. More...
class QOhosStartRequest
The QOhosStartRequest class emits signals for start ability. More...
class QOhosWant
QOhosWant wraps Ohos Want class. More...
class QOhosWantInfo
The QOhosWantInfo class is to represent Ohos want type. More...
class QOhosWindowCreateParams
The QOhosWindowCreateParams class provides window creation parameters for a started ability window. More...
Type Documentation
enum class QtOhosExtras::CloseEventRootCause
Enumerates the close event root cause.
| Constant | Value | Description |
|---|---|---|
QtOhosExtras::CloseEventRootCause::InternalClose
|
0
|
Close root cause not specified or unknown. |
QtOhosExtras::CloseEventRootCause::AbilityClose
|
1
|
Close root cause of preparing to terminate. |
QtOhosExtras::CloseEventRootCause::WindowStageClose
|
2
|
Close root cause of native Window Stage or Sub-Window close. |
This enum was introduced or modified in Qt 5.12.12.
enum class QtOhosExtras::QOhosWantFlag
flags QtOhosExtras::QOhosWantFlags
QOhosWantFlag specifies how the Want will be handled. See Flags.
| Constant | Value | Description |
|---|---|---|
QtOhosExtras::QOhosWantFlag::AuthReadUriPermission
|
1 << 0
|
Grants the permission to read the URI. |
QtOhosExtras::QOhosWantFlag::AuthWriteUriPermission
|
1 << 1
|
Grants the permission to write data to the URI. |
QtOhosExtras::QOhosWantFlag::InstallOnDemand
|
1 << 2
|
Ability will be installed if it has not been installed. |
This enum was introduced or modified in Qt 5.12.12.
The QOhosWantFlags type is a typedef for QFlags<QOhosWantFlag>. It stores an OR combination of QOhosWantFlag values.
enum class QtOhosExtras::WindowGeometryPersistenceHint
Enumerates the policy for window geometry persistence support. Specifies how a window’s geometry (the size and position) is determined when it is shown.
| Constant | Value | Description |
|---|---|---|
QtOhosExtras::WindowGeometryPersistenceHint::Disabled
|
0
|
Use default window's geometry. |
QtOhosExtras::WindowGeometryPersistenceHint::Enabled
|
1
|
Restore previous window's geometry (position and size when before window was closed). |
QtOhosExtras::WindowGeometryPersistenceHint::FollowSystemSetting
|
2
|
Let the system decide whether to use Disabled or Enabled value.
|
This enum was introduced or modified in Qt 5.12.12.
Function Documentation
bool QtOhosExtras::authorizeFilePath(QWindow *parentWindow, const QString &filePath)
Request authorization on the User selected parentWindow for a given filePath. The system File Dialog in authorization mode will be presented to the User. According to User choice returns true if file path is authorized, false otherwise. See authMode
This function was introduced in Qt 5.12.12.
Creates an options object to be used with QOhosAbilityContext::tryOpenLink().
See also QOhosAbilityContext::tryOpenLink().
Creates QOhosStartOptions instance.
Creates a start request for given options and adapts the completion handler into Qt signals.
Connect to QOhosStartRequest::requestSucceeded() and QOhosStartRequest::requestFailed() to receive completion handler results.
See Completion Handler.
See also QOhosStartRequest.
Creates QOhosWindowCreateParams instance.
CloseEventRootCause QtOhosExtras::getCloseEventRootCause(QCloseEvent *closeEvent)
Converts a given closeEvent to QtOhosExtras::CloseEventRootCause and returns the related value.
bool QtOhosExtras::moveFileToTrash(const QString &filePath)
Moves the file specified by filePath to the trash. Returns true if successful, false otherwise.
This function provides functionality of QFile::moveToTrash() from Qt 5.15.
void QtOhosExtras::setAbilityInstanceDestroyEnabled(QWindow *instanceWindow, bool destroyEnabled)
Sets whether the Ability related with instanceWindow can be automatically destroyed by the system when the user clicks on the window's "close" button. If destroyEnabled is true, the system destroys the Ability automatically (and Qt needs to adapt to this). If destroyEnabled = false, the window is not automatically destroyed, but instead standard Qt path for window close is triggered, i.e. QWindow::close().
By default, the flag is set to false.
See also QOhosAbilityContext::setDestroyFromSystemEnabled().
void QtOhosExtras::setBundledAbilityAndQWindowBindingKeyForQWindow(QWindow *window, const QString &qAbilityQWindowBindingKey)
Function marks that the window is supposed to be used with QBundledEmbeddedUiExtensionAbility instance that has specific "Ability <=> QWindow binding key" assigned in form of 'io.qt.public.bundledAbilityAndQWindowBindingKey' want parameter matching the provided qAbilityQWindowBindingKey.
The window that is passed to this function needs to have no parent/transient parent any may not be visible. The window will become visible either after the function call, if the corresponding instance of the QBundledEmbeddedUiExtensionAbility is already present, or after the corresponding instance is started.
The concept of multiple EmbeddedUIExtensionAbilities is described in OpenHarmony docs: https://gitee.com/openharmony/docs/blob/master/en/application-dev/application-models/embeddeduiextensionability.md
void QtOhosExtras::setMainWindowGeometryPersistenceHint(WindowGeometryPersistenceHint geometryPersistenceHint)
Sets a given geometryPersistenceHint on first main window shown.
If this function is called with geometryPersistenceHint `Enabled`, the first main window's geometry will be saved when the window is closed and restored on the next application launch. By default this feature is disabled.
This method must be called before first main window is shown. Otherwise geometry persistence policy will not be updated.
Only supported on 2-in-1 devices.
Read about details in here.
void QtOhosExtras::setShowWindowAsFloatWindowHint(QWindow *window, bool showAsFloatWindow)
Sets or unsets a given window as floating window according to showAsFloatWindow flag. Read more about floating window type here.
auto window = std::make_unique<MainWindow>();
QtOhosExtras::setShowWindowAsFloatWindowHint(window.get(), true);
window->show();
void QtOhosExtras::setShowWindowAsFloatWindowHint(QWidget *widget, bool showAsFloatWindow)
Sets or unsets a given widget as floating window according to showAsFloatWindow flag. Read more about floating window type here.
void QtOhosExtras::setSurfaceBackgroundColor(QWindow *window, const QColor &color)
Sets a given color as background color on the window inner native layer.
void QtOhosExtras::setSurfaceBackgroundColor(QWidget *widget, const QColor &color)
Sets a given color as background color on the widget inner native layer.
Warning: Currently, dynamic color change on a widget is not supported yet.
void QtOhosExtras::setWindowCornerRadius(QWindow *window, double radius)
Sets corner radius for a window. Given window has to be a sub or floating window type. It can be achieved for example: - by setting Qt::WindowFlags, like: Qt::Window, Qt::Popup, Qt::Dialog etc. - explicitly using QtOhosExtras::setShowWindowAsFloatWindowHint() function. More on windows in: Qt official docs. The radius must not be a negative number. There's no upper limit in value, although visually OHOS uses maximum achievable value. In order for this function to work properly, it has to be called before the window is shown.
Read more: here.
void QtOhosExtras::setWindowCornerRadius(QWidget *widget, double radius)
Sets corner radius for a widget. Given widget has to be formed as a new window, it means it cannot be embedded in a parent widget. It can be achieved for example: - by setting Qt::WindowFlags, like: Qt::Window, Qt::Popup, Qt::Dialog etc. - explicitly using QtOhosExtras::setShowWindowAsFloatWindowHint() function. More on widgets as windows in: Qt official docs. The radius must not be a negative number. There's no upper limit in value, although visually OHOS uses maximum achievable value. In order for this function to work properly, it has to be called before the widget is shown.
Read more: here.
void QtOhosExtras::setWindowDragResizable(QWindow *window, bool dragResizable)
Enables or disables window resize ability (dragging), as per the dragResizable parameter.
The function takes effect on sub windows and floating windows.
Note: This function can be called on a window after being shown.
Note: The functionality isn't supported on application main windows (i.e. first QWidget shown in application, or QWidget shown without parent, or QWidget explicitly tagged as main window before show).
Read more: here.
void QtOhosExtras::setWindowDragResizable(QWidget *widget, bool dragResizable)
Enables or disables widget resize ability (dragging).
Given widget has to be formed as a new window, it means it cannot be embedded in a parent widget. The function takes effect on sub windows (window flags: Qt::Window, Qt::Dialog, Qt::Popup, Qt::ToolTip etc) and floating windows (marked with QtOhosExtras::setShowWindowAsFloatWindowHint() function)
Note: This function can be called on a widget before as well as after being shown.
Note: The functionality isn't supported on application main windows (i.e. first QWidget shown in application, or QWidget shown without parent, or QWidget explicitly tagged as main window before show).
Read more: here.
void QtOhosExtras::setWindowKeepScreenOn(QWindow *window, bool keepScreenOn)
Sets or unsets a given window to keep the screen on according to keepScreenOn flag.
Read more: here.
void QtOhosExtras::setWindowKeepScreenOn(QWidget *widget, bool keepScreenOn)
Sets or unsets a given widget to keep the screen on according to keepScreenOn flag.
Read more: here.
void QtOhosExtras::setWindowPrivacyMode(QWindow *window, bool privacyModeEnabled)
Change window privacy mode according to a given window and privacyModeEnabled. Read more about window privacy mode here
Starts an Ability for a given want. See Start Ability.
Warning: Currently, operation status result is hardcoded as "successful" (even if ability were not started).
Starts an Ability for a given want and options. See Start Ability.
Warning: Currently, operation status result is hardcoded as "successful" (even if ability were not started).
Starts an Ability for a given want and startRequest.
The startRequest carries the completion handler from start options. Connect to QOhosStartRequest::requestSucceeded() and QOhosStartRequest::requestFailed() to receive completion handler results. See Start Ability.
Starts an Ability for a given appType and wantParameters. See Start Ability.
Returns an operation status object; its QOhosOperationStatus::success() reports whether the request succeeded.
void QtOhosExtras::startAppProcess(const QString &processId, const QOhosWant &requestWant)
Starts application process for a given processId and requestWant.
void QtOhosExtras::startAppProcess(const QString &processId, const QOhosWant &requestWant, const QOhosStartOptions &options)
Starts application process for a given processId, requestWant and options.
void QtOhosExtras::startAppProcess(const QString &processId, const QOhosWant &requestWant, const QOhosStartRequest &startRequest)
Starts application process for a given processId, requestWant and startRequest. The startRequest carries the completion handler from start options. Connect to QOhosStartRequest::requestSucceeded() and QOhosStartRequest::requestFailed() to receive completion handler results.
See Start Ability.
See also QOhosStartRequest.
void QtOhosExtras::startNewAbilityInstance(QWidget *instanceWidget)
Starts another instance of the UIAbility used by the Qt app with specified widget inside
The caller should pass newly created QWidget instanceWidget, without any setting any parent, calling show() or winId() on it.
Function tries to obtain native window ID (ID associated with system window object) of given window. The failure of the operation is indicated by returned value equal to nullptr.
Note: This function must be called only after the window has been shown.
Warning: Returned native window ID isn't guaranteed to be valid throughout the lifetime of application. Application stability and performance may be poor after using this function, use it at your own risk!
Read more on native window ID (WindowProperties.id): here
Tries to get continuation / migration related data that was provided on the source device. Returns nullptr if no such data found. The data is expected to be stored in the want parameters. See Application Continuation.
Function tries to obtain native display ID of given screen. The failure of the operation is indicated by returning nullptr .
Read more on display ID (Display.id): here
Recreates the distributed data objects that were migrated in want by QOhosOnContinueContext::setResponseOnDistributedDataObjectsSaveResults() on the source device, and returns them. Returns an empty list if want carries no distributed data objects.
Each returned object joins its session asynchronously, so connect to its dataChanged(), statusChanged() and progressChanged() signals right away to avoid missing the initial sync.
See also QOhosOnContinueContext::setResponseOnDistributedDataObjectsSaveResults().