Qt for HarmonyOS/qtohosextras doc/QtOhosExtras Namespace
QtOhosExtras Namespace
The QtOhosExtras namespace provides miscellaneous functions to aid Ohos development. More...
| Header: | #include <QtOhosExtras> |
| qmake: | QT += ohosextras |
| Since: | Qt 5.12.12 |
Namespaces
| namespace | FileShare |
| namespace | QOhosPasteboard |
| namespace | ShareKit |
Classes
| class | QOhosAbilityContext |
| class | QOhosAppContext |
| class | QOhosBundleInfo |
| class | QOhosOnContinueContext |
| class | QOhosOpenLinkOptions |
| class | QOhosOperationStatus |
| class | QOhosStartOptions |
| class | QOhosWant |
| class | QOhosWantInfo |
Types
| enum | CloseEventRootCause { InternalClose, AbilityClose, WindowStageClose } |
| enum | QOhosWantFlag { AuthReadUriPermission, AuthWriteUriPermission, InstallOnDemand } |
| flags | QOhosWantFlags |
| enum | WindowGeometryPersistenceHint { Disabled, Enabled, FollowSystemSetting } |
Functions
| bool | authorizeFilePath(QWindow *parentWindow, const QString &filePath) |
| QSharedPointer<QtOhosExtras::QOhosWantInfo> | convertToOhosExtrasWantInfo(int wantInfo) |
| int | convertToQpaWantInfo(QSharedPointer<QtOhosExtras::QOhosWantInfo>) |
| QtOhosExtras::QOhosWant | convertWantFromJsonObject(const QJsonObject &jsonWant) |
| QJsonObject | convertWantToJsonObject(const QtOhosExtras::QOhosWant &want) |
| QSharedPointer<QtOhosExtras::QOhosOpenLinkOptions> | createOpenLinkOptions() |
| QSharedPointer<QtOhosExtras::QOhosStartOptions> | createStartOptions() |
| QtOhosExtras::CloseEventRootCause | getCloseEventRootCause(QCloseEvent *closeEvent) |
| bool | moveFileToTrash(const QString &filePath) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::QOhosAppContext::ColorThemeMode) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::ProcessMode) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::StartupVisibility) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::WindowMode) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::SupportWindowMode) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::CloseEventRootCause) |
| const QMetaObject * | qt_getEnumMetaObject(QtOhosExtras::WindowGeometryPersistenceHint) |
| const char * | qt_getEnumName(QtOhosExtras::QOhosAppContext::ColorThemeMode) |
| const char * | qt_getEnumName(QtOhosExtras::QOhosStartOptions::ProcessMode) |
| const char * | qt_getEnumName(QtOhosExtras::QOhosStartOptions::StartupVisibility) |
| const char * | qt_getEnumName(QtOhosExtras::QOhosStartOptions::WindowMode) |
| const char * | qt_getEnumName(QtOhosExtras::QOhosStartOptions::SupportWindowMode) |
| const char * | qt_getEnumName(QtOhosExtras::CloseEventRootCause) |
| const char * | qt_getEnumName(QtOhosExtras::WindowGeometryPersistenceHint) |
| void | requestQOhosPermissionFromUserIfNeeded(QObject *resultConsumerQtContext, QWindow *optInstanceMainWindow, const QString &permissionName, int resultConsumer) |
| void | requestQOhosPermissionOnSettingIfNeeded(QObject *resultConsumerQtContext, QWindow *optInstanceMainWindow, int permission, int resultConsumer) |
| void | setAbilityInstanceDestroyEnabled(QWindow *instanceWindow, bool destroyEnabled) |
| void | setBundledAbilityAndQWindowBindingKeyForQWindow(QWindow *window, const QString &qAbilityQWindowBindingKey) |
| void | setMainWindowGeometryPersistenceHint(QtOhosExtras::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 | setWindowKeepScreenOn(QWindow *window, bool keepScreenOn) |
| void | setWindowKeepScreenOn(QWidget *widget, bool keepScreenOn) |
| void | setWindowPrivacyMode(QWindow *window, bool privacyModeEnabled) |
| QSharedPointer<QtOhosExtras::QOhosOperationStatus> | startAbility(const QtOhosExtras::QOhosWant &want) |
| QSharedPointer<QtOhosExtras::QOhosOperationStatus> | startAbility(const QtOhosExtras::QOhosWant &want, const QtOhosExtras::QOhosStartOptions &options) |
| QSharedPointer<QtOhosExtras::QOhosOperationStatus> | startAbilityByType(const QString &appType, const QJsonObject &wantParameters) |
| void | startAppProcess(const QString &processId, const QtOhosExtras::QOhosWant &requestWant) |
| void | startAppProcess(const QString &processId, const QtOhosExtras::QOhosWant &requestWant, const QtOhosExtras::QOhosStartOptions &options) |
| void | startNewAbilityInstance(QWidget *instanceWidget) |
| QSharedPointer<double> | tryGetNativeWindowId(QWindow *window) |
| QSharedPointer<QByteArray> | tryGetOnContinueData(const QtOhosExtras::QOhosWant &want) |
| QSharedPointer<double> | tryGetScreenDisplayId(QScreen *screen) |
| int | tryMapQOhosPermissionFromName(const QString &) |
| int | tryMapQOhosPermissionToName(int) |
| QFlags<QOhosWantFlags::enum_type> | operator|(QOhosWantFlags::enum_type f1, QOhosWantFlags::enum_type f2) |
| QFlags<QOhosWantFlags::enum_type> | operator|(QOhosWantFlags::enum_type f1, QFlags<QOhosWantFlags::enum_type> f2) |
| QIncompatibleFlag | operator|(QOhosWantFlags::enum_type f1, int f2) |
Detailed Description
The QtOhosExtras namespace provides miscellaneous functions to aid Ohos development.
Namespaces
The FileShare to expose file permission API.
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.txtfile://com.your.example/data/storage/el1/bundle/entry/resources/resfile/test.txtcom.your.exampleTo 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::QOhosPasteboard
The QOhosPasteboard class is to manage native pasteboard.
This namespace was introduced in Qt 5.12.12.
The ShareKit to expose Share Kit API.
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 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
class QOhosOperationStatus
The QOhosOperationStatus class provides interface to get an opertaion status. More...
class QOhosStartOptions
The QOhosStartOptions class is to provide new options for new started ability or process. More...
class QOhosWant
QOhosWant wraps Ohos Want class. More...
class QOhosWantInfo
The QOhosWantInfo class is to represent Ohos want type. More...
Type Documentation
enum QtOhosExtras::CloseEventRootCause
Enumerates the close event root cause.
| Constant | Value | Description |
|---|---|---|
QtOhosExtras::InternalClose |
0 |
Close root cause not specified or unknown. |
QtOhosExtras::AbilityClose |
1 |
Close root cause of preparing to terminate. |
QtOhosExtras::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 QtOhosExtras::QOhosWantFlag
flags QtOhosExtras::QOhosWantFlags
QOhosWantFlag specifies how the Want will be handled. See Flags.
| Constant | Value | Description |
|---|---|---|
QtOhosExtras::AuthReadUriPermission |
1 << 0 |
Grants the permission to read the URI. |
QtOhosExtras::AuthWriteUriPermission |
1 << 1 |
Grants the permission to write data to the URI. |
QtOhosExtras::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 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::Disabled |
0 |
Use default window's geometry. |
QtOhosExtras::Enabled |
1 |
Restore previous window's geometry (position and size when before window was closed). |
QtOhosExtras::FollowSystemSetting |
2 |
Let the system decide whether to use DisabledEnabled |
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.
convertToOhosExtrasWantInfo
QSharedPointer<QtOhosExtras::QOhosWantInfo> QtOhosExtras::convertToOhosExtrasWantInfo(int wantInfo)
QtOhosExtras::QOhosWant
QtOhosExtras::convertWantFromJsonObject(const QJsonObject &jsonWant)
QJsonObject QtOhosExtras::convertWantToJsonObject(const QtOhosExtras::QOhosWant &want)
createOpenLinkOptions
QSharedPointer<QtOhosExtras::QOhosOpenLinkOptions> QtOhosExtras::createOpenLinkOptions()
createStartOptions
QSharedPointer<QtOhosExtras::QOhosStartOptions> QtOhosExtras::createStartOptions()Creates QOhosStartOptions instance.
QtOhosExtras::CloseEventRootCause
QtOhosExtras::getCloseEventRootCause(QCloseEvent *closeEvent)
Converts a given closeEvent to QtOhosExtras::CloseEventRootCause.
Returns related QtOhosExtras::CloseEventRootCause 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.
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::QOhosAppContext::ColorThemeMode)
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::ProcessMode)
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::StartupVisibility)
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::WindowMode)
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::QOhosStartOptions::SupportWindowMode)
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::CloseEventRootCause)
const QMetaObject *QtOhosExtras::qt_getEnumMetaObject(QtOhosExtras::WindowGeometryPersistenceHint)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::QOhosAppContext::ColorThemeMode)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::QOhosStartOptions::ProcessMode)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::QOhosStartOptions::StartupVisibility)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::QOhosStartOptions::WindowMode)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::QOhosStartOptions::SupportWindowMode)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::CloseEventRootCause)
const char *QtOhosExtras::qt_getEnumName(QtOhosExtras::WindowGeometryPersistenceHint)
void QtOhosExtras::requestQOhosPermissionFromUserIfNeeded(QObject *resultConsumerQtContext, QWindow *optInstanceMainWindow, const QString &permissionName, int resultConsumer)
void QtOhosExtras::requestQOhosPermissionOnSettingIfNeeded(QObject *resultConsumerQtContext, QWindow *optInstanceMainWindow, int permission, int resultConsumer)
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 istrue
falsefalseSee also QtOhosExtras::QOhosAbilityContext::setDestroyFromSystemEnabled().
void QtOhosExtras::setBundledAbilityAndQWindowBindingKeyForQWindow(QWindow *window, const QString &qAbilityQWindowBindingKey)
void QtOhosExtras::setMainWindowGeometryPersistenceHint(QtOhosExtras::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::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
startAbility
QSharedPointer<QtOhosExtras::QOhosOperationStatus>
QtOhosExtras::startAbility(const QtOhosExtras::QOhosWant &want)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).
startAbility
QSharedPointer<QtOhosExtras::QOhosOperationStatus>
QtOhosExtras::startAbility(const QtOhosExtras::QOhosWant &want, const QtOhosExtras::QOhosStartOptions &options)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).
startAbilityByType
QSharedPointer<QtOhosExtras::QOhosOperationStatus>
QtOhosExtras::startAbilityByType(const QString &appType, const QJsonObject &wantParameters)Starts an Ability for a given appType and wantParameters. See Start Ability.
Returns true on success
void QtOhosExtras::startAppProcess(const QString &processId, const QtOhosExtras::QOhosWant &requestWant)
Starts application process for a given processId and requestWant.
void QtOhosExtras::startAppProcess(const QString &processId, const QtOhosExtras::QOhosWant &requestWant, const QtOhosExtras::QOhosStartOptions &options)
Starts application process for a given processId, requestWant and options.
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.
tryGetNativeWindowId
QSharedPointer<double>
QtOhosExtras::tryGetNativeWindowId(QWindow *window)nullptrNote: 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
tryGetOnContinueData
QSharedPointer<QByteArray>
QtOhosExtras::tryGetOnContinueData(const QtOhosExtras::QOhosWant &want)
tryGetScreenDisplayed
QSharedPointer<double>
QtOhosExtras::tryGetScreenDisplayId(QScreen *screen)nullptrRead more on display ID (Display.id): here
int QtOhosExtras::tryMapQOhosPermissionFromName(const QString &)
int QtOhosExtras::tryMapQOhosPermissionToName(int)
Function
QFlags<QOhosWantFlags::enum_type> QtOhosExtras::operator|(QOhosWantFlags::enum_type f1, QOhosWantFlags::enum_type f2)
Function
QFlags<QOhosWantFlags::enum_type> QtOhosExtras::operator|(QOhosWantFlags::enum_type f1, QFlags<QOhosWantFlags::enum_type> f2)QIncompatibleFlag QtOhosExtras::operator|(QOhosWantFlags::enum_type f1, int f2)