启动接口类

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

头文件 #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引擎之前会调用此方法。

注意:在此调用之后,所有qmlProtectModule()通过的新注册的QtApplicationManager* QML命名空间都将被锁定。

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

在实例化主窗口并在显示之前会调用此方法。参数window包含指向主窗口的指针。

注意:只有当您的QML树的根对象是一个可见项目(如一个WindowItem的派生类)时,window才是有效的。如果是一个例如QtObject,则它将是一个nullptr

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

在解析systemProperties后立即调用此方法。

© 2024 Qt公司 Ltd。此处包含的文档贡献的版权所有者。所提供的文档根据自由软件基金会发布的GNU自由文档许可协议第1.3版的条款进行许可。Qt和相关徽标是芬兰和/或全球的Qt公司的商标。所有其他商标均为其各自所有者的财产。