LiveNodeEngine 类

LiveNodeEngine 类与 LiveHubEngine 协作实例化 QML 组件。更多...

头文件 #include <LiveNodeEngine>
继承自 QObject

公共类型

枚举WorkspaceOption { NoWorkspaceOption, LoadDummyData, AllowUpdates, UpdatesAsOverlay, AllowCreateMissing }
标志WorkspaceOptions

公共函数

LiveNodeEngine(QObject *parent = 0)
virtual~LiveNodeEngine()
LiveDocumentactiveDocument() const
ContentAdapterInterface *activePlugin() const
QQuickWindow *activeWindow() const
QQuickView *fallbackView() const
QStringpluginPath() const
QQmlEngine *qmlEngine() const
ResourceMap *resourceMap() const
introtation() const
voidsetFallbackView(QQuickView *fallbackView)
voidsetPluginPath(const QString &path)
voidsetQmlEngine(QQmlEngine *qmlEngine)
voidsetWorkspace(const QString &path, LiveNodeEngine::WorkspaceOptions options)
voidusePreloadedDocument(const LiveDocument &document, QObject *object, QQuickWindow *window, const QList<QQmlError> &errors)
voidusePreloadedDocument(const QString &document, QQuickWindow *window, const QList<QQmlError> &errors)
QStringworkspace() const
intxOffset() const
intyOffset() const

公共槽

voiddelayReload()
voidloadDocument(const LiveDocument &document)
virtual voidreloadDocument()
voidsetRotation(int rotation)
voidsetXOffset(int offset)
voidsetYOffset(int offset)
voidupdateDocument(const LiveDocument &document, const QByteArray &content)

信号

voidactiveDocumentChanged(const LiveDocument &document)
voidactiveWindowChanged(QQuickWindow *window)
voidclearLog()
voiddocumentLoaded()
voidlogErrors(const QList<QQmlError> &errors)
voidlogIgnoreMessages(bool on)
voidworkspaceChanged(const QString &workspace)

受保护函数

virtual voidinitPlugins()

详细说明

LiveNodeEngine提供了基于来自中心节点的请求来重新加载QML文档的方法。可以通过远程发布者/远程接收器对来进行连接。

主要用例是允许加载实例化QQuickWindow的QML组件,即继承自QML窗口。可设置《回退视图》,以支持基于QML项的组件。

除了显示QML文件,LiveNodeEngine还可以通过插件扩展以显示任何其他文件类型。需要一个将插件路径设置为正确目的地的操作,并且LiveNodeEngine将加载其在其中找到的所有插件。

另请参阅自定义运行时内容插件示例

成员类型文档

枚举LiveNodeEngine::WorkspaceOption
标志LiveNodeEngine::WorkspaceOptions

此枚举类型控制与工作空间相关的一些可选功能

常数描述
LiveNodeEngine::NoWorkspaceOption0x0没有启用任何可选特性。
LiveNodeEngine::LoadDummyData0x1启用加载虚拟QML数据 - 工作空间目录下的 "dummydata" 子目录中的QML文档。
LiveNodeEngine::AllowUpdates0x2启用接收工作空间文档更新。
LiveNodeEngine::UpdatesAsOverlay0x4启用此选项后,即使在只读模式下,也可以接收更新。更新将在使用QQmlAbstractUrlInterceptor的帮助下存储在覆盖在原始工作空间之上的可写覆盖层中。此选项仅影响文件系统文件更新的处理方式 - Qt资源文件的更新始终存储在覆盖层中。需要启用AllowUpdates。
LiveNodeEngine::AllowCreateMissing0x8在此选项启用之前,只会接受现有工作空间文档的更新。需要启用AllowUpdates。

WorkspaceOptions类型是QFlags<WorkspaceOption>的别名。它存储 WorkspaceOption 值的或组合。

另请参阅QML Live 运行时

成员函数文档

LiveNodeEngine::LiveNodeEngine(QObject *parent = 0)

使用parent作为父对象的默认构造函数

[信号]void LiveNodeEngine::activeDocumentChanged(const LiveDocument &document)

文档documentloadDocument()加载,现在是activeDocument。此信号仅在新的文档与之前加载的文档不同时发出。

另请参阅documentLoaded().

[信号]void LiveNodeEngine::activeWindowChanged(QQuickWindow *window)

当通过更改或重新加载文档来更改或重新加载activeWindow时,发出此信号。window是新激活的窗口。

[信号]void LiveNodeEngine::clearLog()

请求清空日志

[槽]void LiveNodeEngine::delayReload()

启动计时器以延迟重新加载视图。

延迟重新加载对于避免频繁的加载是非常重要的,尤其是有众多更改出现时。

[信号]void LiveNodeEngine::documentLoaded()

文档加载完成后发出此信号。

[槽]void LiveNodeEngine::loadDocument(const LiveDocument &document)

加载或重新加载指定的 document 到 QML 视图,并清除任何缓存。

当这导致 活动文档 发生变化时,会发出 activeDocumentChanged() 信号。

另请参阅documentLoaded().

[信号]void LiveNodeEngine::logErrors(const QList<QQmlError> &errors)

记录错误 errors

[信号]void LiveNodeEngine::logIgnoreMessages(bool on)

on 为真时请求忽略消息。

[虚拟槽]void LiveNodeEngine::reloadDocument()

重新加载活动 QML 文档。

完成后发出 documentLoaded()。

如果设置了 fallbackView,无论该视图之前是否使用过,其 source 都将被清除。

[槽]void LiveNodeEngine::setRotation(int rotation)

设置窗口围绕中心旋转 rotation

另请参阅旋转

[槽]void LiveNodeEngine::setXOffset(int offset)

设置窗口的 x-偏移量 offset

另请参阅x-偏移量

[槽]void LiveNodeEngine::setYOffset(int offset)

设置窗口的 y-偏移量 offset

另请参阅y-偏移量

[槽]void LiveNodeEngine::updateDocument(const LiveDocument &document, const QByteArray &content)

当启用时更新指定工作区 documentcontent

此函数的行为受通过 setWorkspace() 传递给 WorkspaceOptions 控制。

[信号]void LiveNodeEngine::workspaceChanged(const QString &workspace)

使用 setWorkspace() 更改工作区后发出此信号。 workspace 是新的工作区路径。

另请参阅工作区

[虚拟]LiveNodeEngine::~LiveNodeEngine()

析构函数

LiveDocument LiveNodeEngine::activeDocument() const

返回当前活动文档。

ContentAdapterInterface *LiveNodeEngine::activePlugin() const

返回活动内容适配插件。

QQuickWindow *LiveNodeEngine::activeWindow() const

返回当前活动窗口。

另请参见 activeWindowChanged

QQuickView *LiveNodeEngine::fallbackView() const

用于显示基于QML项的组件(即不创建自己的窗口)的QQuickView

另请参见 setFallbackView

[虚保护] void LiveNodeEngine::initPlugins()

加载在Pluginpath中找到的所有插件。

QString LiveNodeEngine::pluginPath() const

返回当前pluginPath。

另请参见 setPluginPath

QQmlEngine *LiveNodeEngine::qmlEngine() const

用于加载QML组件的QML引擎。

另请参见 setQmlEngine

ResourceMap *LiveNodeEngine::resourceMap() const

返回由该实例管理的ResourceMap

另请参见 LiveDocument

int LiveNodeEngine::rotation() const

返回当前旋转角度。

另请参见 setRotation

void LiveNodeEngine::setFallbackView(QQuickView *fallbackView)

fallbackView设置为用于显示基于QML项的组件(即不创建自己的窗口)的QQuickView

另请参见 fallbackView

void LiveNodeEngine::setPluginPath(const QString &path)

pluginPath设置为path

pluginPath将用于加载QML Live插件。

另请参见 pluginPath() 和 ContentPlugin 示例

void LiveNodeEngine::setQmlEngine(QQmlEngine *qmlEngine)

qmlEngine设置为用于加载QML组件的QML引擎。

另请参见 qmlEngine

void LiveNodeEngine::setWorkspace(const QString &path, LiveNodeEngine::WorkspaceOptions options)

将当前工作空间设置为path。文档位置将根据此工作空间路径进行调整。可以通过传递options来控制某些功能。

另请参阅 workspace() 和 WorkspaceOptions.

void LiveNodeEngine::usePreloadedDocument(const LiveDocument &document, QObject *object, QQuickWindow *window, const QList<QQmlError> &errors)

允许使用 LiveNodeEngine 控制之外的实例初始化活动文档。

此函数最多只能调用一次,并且只能在调用 loadDocument() 加载文档之前调用。

document 是用于实例化 object 的组件的来源。 window 应该是 object 本身或 fallbackView()。 errors(如果有的话)将被添加到日志中。

注意,在 fallbackView 之外,window 将在下次 loadDocument() 调用中被销毁。 object 将无条件销毁。

void LiveNodeEngine::usePreloadedDocument(const QString &document, QQuickWindow *window, const QList<QQmlError> &errors)

这是一个为了方便使用而提供的重载函数。它与 QQmlApplicationEngine 一起使用。

尝试解析 document 相对于当前的 workspacewindow 是根对象。errors(如果有)将被添加到日志中。

QString LiveNodeEngine::workspace() const

返回当前的工作区路径。

另请参阅 setWorkspace().

int LiveNodeEngine::xOffset() const

返回窗口当前的 x 偏移量。

另请参阅 setXOffset().

int LiveNodeEngine::yOffset() const

返回窗口当前的 y 偏移量。

另请参阅 setYOffset().

©2019 Luxoft Sweden AB。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可协议的第 1.3 版条款许可的。Qt 和相应的标识是芬兰和其他世界各地的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。