LiveNodeEngine 类
LiveNodeEngine 类与 LiveHubEngine 协作实例化 QML 组件。更多...
头文件 | #include <LiveNodeEngine> |
继承自 | QObject |
公共类型
枚举 | WorkspaceOption { NoWorkspaceOption, LoadDummyData, AllowUpdates, UpdatesAsOverlay, AllowCreateMissing } |
标志 | WorkspaceOptions |
公共函数
LiveNodeEngine(QObject *parent = 0) | |
virtual | ~LiveNodeEngine() |
LiveDocument | activeDocument() const |
ContentAdapterInterface * | activePlugin() const |
QQuickWindow * | activeWindow() const |
QQuickView * | fallbackView() const |
QString | pluginPath() const |
QQmlEngine * | qmlEngine() const |
ResourceMap * | resourceMap() const |
int | rotation() const |
void | setFallbackView(QQuickView *fallbackView) |
void | setPluginPath(const QString &path) |
void | setQmlEngine(QQmlEngine *qmlEngine) |
void | setWorkspace(const QString &path, LiveNodeEngine::WorkspaceOptions options) |
void | usePreloadedDocument(const LiveDocument &document, QObject *object, QQuickWindow *window, const QList<QQmlError> &errors) |
void | usePreloadedDocument(const QString &document, QQuickWindow *window, const QList<QQmlError> &errors) |
QString | workspace() const |
int | xOffset() const |
int | yOffset() const |
公共槽
void | delayReload() |
void | loadDocument(const LiveDocument &document) |
virtual void | reloadDocument() |
void | setRotation(int rotation) |
void | setXOffset(int offset) |
void | setYOffset(int offset) |
void | updateDocument(const LiveDocument &document, const QByteArray &content) |
信号
void | activeDocumentChanged(const LiveDocument &document) |
void | activeWindowChanged(QQuickWindow *window) |
void | clearLog() |
void | documentLoaded() |
void | logErrors(const QList<QQmlError> &errors) |
void | logIgnoreMessages(bool on) |
void | workspaceChanged(const QString &workspace) |
受保护函数
virtual void | initPlugins() |
详细说明
LiveNodeEngine提供了基于来自中心节点的请求来重新加载QML文档的方法。可以通过
主要用例是允许加载实例化QQuickWindow的QML组件,即继承自QML窗口。可设置《回退视图》,以支持基于QML项的组件。
除了显示QML文件,LiveNodeEngine还可以通过插件扩展以显示任何其他文件类型。需要一个将插件路径设置为正确目的地的操作,并且LiveNodeEngine将加载其在其中找到的所有插件。
成员类型文档
枚举LiveNodeEngine::WorkspaceOption
标志LiveNodeEngine::WorkspaceOptions
此枚举类型控制与工作空间相关的一些可选功能
常数 | 值 | 描述 |
---|---|---|
LiveNodeEngine::NoWorkspaceOption | 0x0 | 没有启用任何可选特性。 |
LiveNodeEngine::LoadDummyData | 0x1 | 启用加载虚拟QML数据 - 工作空间目录下的 "dummydata" 子目录中的QML文档。 |
LiveNodeEngine::AllowUpdates | 0x2 | 启用接收工作空间文档更新。 |
LiveNodeEngine::UpdatesAsOverlay | 0x4 | 启用此选项后,即使在只读模式下,也可以接收更新。更新将在使用QQmlAbstractUrlInterceptor的帮助下存储在覆盖在原始工作空间之上的可写覆盖层中。此选项仅影响文件系统文件更新的处理方式 - Qt资源文件的更新始终存储在覆盖层中。需要启用AllowUpdates。 |
LiveNodeEngine::AllowCreateMissing | 0x8 | 在此选项启用之前,只会接受现有工作空间文档的更新。需要启用AllowUpdates。 |
WorkspaceOptions类型是QFlags<WorkspaceOption>的别名。它存储 WorkspaceOption 值的或组合。
另请参阅QML Live 运行时。
成员函数文档
LiveNodeEngine::LiveNodeEngine(QObject *parent = 0)
使用parent作为父对象的默认构造函数
[信号]
void LiveNodeEngine::activeDocumentChanged(const LiveDocument &document)
文档document由loadDocument()加载,现在是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)
当启用时更新指定工作区 document 的 content。
此函数的行为受通过 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 相对于当前的 workspace。 window 是根对象。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 公司的商标。所有其他商标均为其各自所有者的财产。