启动接口类

一个允许实现自定义启动活动的接口。 更多信息...

头文件 #include <StartupInterface>

公共函数

virtual voidafterQmlEngineLoad(QQmlEngine *engine) = 0
virtual voidafterRuntimeRegistration() = 0
virtual voidafterWindowShow(QWindow *window) = 0
virtual voidbeforeQmlEngineLoad(QQmlEngine *engine) = 0
virtual voidbeforeWindowShow(QWindow *window) = 0
virtual voidinitialize(const QVariantMap &systemProperties) = 0

详细说明

此接口提供了在应用程序管理器进程启动期间被调用的钩子。因此,接口的实现者可以在启动阶段某些特定点运行自定义代码。

插件必须实现 StartupInterface 的纯虚函数。对于系统 UI(appman),以及 QML 应用程序(appman-launcher-qml),接口是相同的。应在配置文件(am-config.yaml)中指定要加载的插件。以下代码示例显示了如何配置应用程序管理器,以便在不同的系统 UI 和应用程序中加载和执行 libappmanplugin.so,并且在系统 UI 中仅加载 libextplugin.so

# System UI
plugins:
  startup: [ "path/to/libappmanplugin.so", "path/to/libextplugin.so" ]

# Applications
runtimes:
  qml:
    plugins:
      startup: "path/to/libappmanplugin.so"

函数调用的顺序如下

成员函数文档

[纯虚] void StartupInterface::afterQmlEngineLoad(QQmlEngine *engine)

此方法在 QML engine 已加载后被调用。

[纯虚] void StartupInterface::afterRuntimeRegistration()

此方法在运行时已被注册之后立即调用。

注意: 它只会在系统 UI 进程中调用。

[纯虚] void StartupInterface::afterWindowShow(QWindow *window)

此方法在主窗口显示后立即调用。参数 window 包含了对刚显示的主窗口的指针。

注意: 此函数只有在您的 QML 树的根对象是一个可见项(例如,一个 WindowItem 派生类)时才会调用。如果它是一个如 QtObject 的实例,则不会调用。

[纯虚] void StartupInterface::beforeQmlEngineLoad(QQmlEngine *engine)

此方法在 QML engine 加载前被调用。

注意: 通过qmlProtectModule() 这之后,会锁定所有 QtApplicationManager* QML 命名空间进行新的注册。

[纯虚] void StartupInterface::beforeWindowShow(QWindow *window)

此方法在主窗口实例化后、显示之前被调用。参数 窗口 含有对主窗口的指针。

注意:当你的 QML 树的根对象是一个可见项(例如,一个 窗口 派生类)时,窗口 才有效。如果它是一个实例的 QtObject,则将为 nullptr

[纯虚函数]void StartupInterface::initialize(const QVariantMap &systemProperties)

在解析完 系统属性 后,将调用此方法。

©2019 Luxoft Sweden AB。此处所包含的文档贡献的版权为各自所有者所拥有。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 及相关标志是芬兰及其它国家和地区 Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。