抽象分区功能 QML 类型

抽象分区功能无法直接访问。QML 类型为所有分区功能提供基础 QML 属性。更多信息请参阅 ...

导入语句import QtInterfaceFramework
实例化 QIfAbstractZonedFeature
继承自

AbstractFeature

属性

方法

详细描述

抽象分区功能提供了一个 API 来访问所有可用的区域。

一旦后端连接成功,可以使用 availableZones 属性了解所有当前可用的区域。可以通过 zoneAt 属性或使用 zones 属性访问特定区域,zones 属性以列表形式返回所有区域。

ClimateControl{
    id: climateControl
}

Text {
    text: climateControl.zoneAt.FrontLeft.temperature
}

属性文档

availableZones : QStringList [只读]

包含可用区域列表。


configurationId : string

包含用于确定该功能属于哪个配置的 ID。

一旦设置了 ID,就可以使用 InterfaceFrameworkConfiguration API 改变某些值。

注意:在匹配的 InterfaceFrameworkConfiguration 中设置的值可以覆盖组件创建过程中设置的初始值。

另请参阅:InterfaceFrameworkConfiguration.


discoveryMode : enumeration

包含用于自动发现的模式

可用值有

常量描述
NoAutoDiscovery不进行自动发现,需要手动设置 ServiceObject。
AutoDiscovery尝试找到与接口匹配的生产后端,如果未找到则回退到模拟后端。
LoadOnlyProductionBackends仅尝试加载与接口匹配的生产后端。
LoadOnlySimulationBackends仅尝试加载与接口匹配的模拟后端。

如果需要,在功能创建完成后,一旦开始自动发现。

注意:如果您在功能实例化后更改此属性,请确保调用startAutoDiscovery()以查找新的服务对象。


discoveryResult : 枚举 [只读]

上一次自动发现的结果

可用值有

常量描述
NoResult表示未启动自动发现,因为该功能已分配一个有效的ServiceObject。
ErrorWhileLoading搜索与接口匹配的后端时发生了错误。
ProductionBackendLoaded由于自动发现,已加载生产后端。
SimulationBackendLoaded由于自动发现,已加载模拟后端。

isInitialized : 布尔 [只读]

指示功能是否已使用从后端的所有值初始化。

一旦后端发送QIfFeatureInterface::initializationDone信号,表示所有值都已使用后端值初始化,该属性为true

另请参阅:isValidQIfFeatureInterface::initializationDone


isValid : 布尔 [只读]

指示功能是否准备就绪以使用。

如果功能准备就绪以使用,则该属性为true,否则为false。未准备就绪通常表示找不到合适的服务对象,或者未触发自动发现。

后端可能仍尚未发送所有属性并且尚未完全初始化。请使用isInitialized而不是它,以知道功能是否持有所有正确的值。

另请参阅:QIfServiceObjectdiscoveryModeisInitialized


preferredBackends : 列表<字符串>

包含要在自动发现期间加载的首选后端的通配符列表。

自动发现机制将自动搜索为此功能实现提供匹配接口的后端。有关更多信息,请参阅startAutoDiscovery()。

如果多个后端实现相同的接口,可以使用通配符列表来确定要加载的正确项。

通配符将按照顺序应用于找到的后端。如果通配符匹配一些后端,则将这些后端加载,否则使用该通配符。

例如:给定一个具有两个后端(backend_mqtt.so和backend_qtro.so)的AbstractFeature,可以将属性设置为"*_mqtt*"以始终在可用时选择backend_mqtt.so后端。


serviceObject : 服务对象

为功能设置服务对象。

由于功能仅公开面向开发者的前端API,因此需要一个实现实际功能的服务对象。这通常是通过自动发现机制检索的。

此属性的setter返回false,如果QIfServiceObject已设置为该特定实例,或者QIfServiceObject不被该功能接受。

另请参阅discoveryMode


zone : QString

指定该分区功能的区域名称。

可以在功能初始化时指定区域。此属性允许您只控制单个特定功能区域。

此属性仅在连接后端之前可写。一旦发现后端并且确认组件有效,该区域就不再可写。不建议在初始化后更改区域。

 ClimateControl {
     zone: "FrontLeft"
     onAirConditioningChanged: {
         // Take action on front left A/C changes.
     }
}

zoneAt : QVariantMap [只读]

提供对给定区域的直接功能访问。

feature.zoneAt.FrontLeft

zones : QVariantList [只读]

提供对功能区域模型的访问。

model: feature.zones

方法文档

枚举 startAutoDiscovery()

执行自动搜索尝试。

功能尝试定位一个实现了所需界面的服务对象。

如果没有找到服务对象,则功能无效。找到超过一个服务对象时,将使用第一个实例。

此函数返回已加载的后端类型;或错误。

如果discoveryMode设置为QIfAbstractFeature::NoAutoDiscovery,则此函数不执行任何操作并返回QIfAbstractFeature::NoResult

返回值是

常量描述
NoResult表示没有自动搜索开始因为功能已有有效的服务对象分配。
ErrorWhileLoading表示搜索支持匹配接口的后端时发生错误。
ProductionBackendLoaded由于自动发现,已加载生产后端。
SimulationBackendLoaded由于自动发现,已加载模拟后端。

另请参阅动态后端系统QIfServiceManager


© 2024 The Qt Company Ltd. 包含在内的文档贡献是各自所有者的版权。本提供的文档受GNU自由文档许可证版本1.3的条款所许可,由自由软件基金会发布。Qt和相应的标志是The Qt Company Ltd.在芬兰及其它国家和地区的商标。所有其他商标均属于各自所有者。