抽象分区功能 QML 类型
抽象分区功能无法直接访问。QML 类型为所有分区功能提供基础 QML 属性。更多信息请参阅 ...
导入语句 | import QtInterfaceFramework |
实例化 | QIfAbstractZonedFeature |
继承自 |
属性
- availableZones : QStringList
- configurationId : string
- discoveryMode : enumeration
- discoveryResult : enumeration
- isInitialized : bool
- isValid : bool
- preferredBackends : list<string>
- serviceObject : ServiceObject
- zone : QString
- zoneAt : QVariantMap
- zones : QVariantList
方法
- 枚举 startAutoDiscovery()
详细描述
抽象分区功能提供了一个 API 来访问所有可用的区域。
一旦后端连接成功,可以使用 availableZones 属性了解所有当前可用的区域。可以通过 zoneAt 属性或使用 zones 属性访问特定区域,zones 属性以列表形式返回所有区域。
ClimateControl{ id: climateControl } Text { text: climateControl.zoneAt.FrontLeft.temperature }
属性文档
availableZones : QStringList |
包含可用区域列表。
configurationId : string |
包含用于确定该功能属于哪个配置的 ID。
一旦设置了 ID,就可以使用 InterfaceFrameworkConfiguration API 改变某些值。
注意:在匹配的 InterfaceFrameworkConfiguration 中设置的值可以覆盖组件创建过程中设置的初始值。
discoveryMode : enumeration |
包含用于自动发现的模式
可用值有
常量 | 描述 |
---|---|
NoAutoDiscovery | 不进行自动发现,需要手动设置 ServiceObject。 |
AutoDiscovery | 尝试找到与接口匹配的生产后端,如果未找到则回退到模拟后端。 |
LoadOnlyProductionBackends | 仅尝试加载与接口匹配的生产后端。 |
LoadOnlySimulationBackends | 仅尝试加载与接口匹配的模拟后端。 |
如果需要,在功能创建完成后,一旦开始自动发现。
注意:如果您在功能实例化后更改此属性,请确保调用startAutoDiscovery()以查找新的服务对象。
discoveryResult : 枚举 |
上一次自动发现的结果
可用值有
常量 | 描述 |
---|---|
NoResult | 表示未启动自动发现,因为该功能已分配一个有效的ServiceObject。 |
ErrorWhileLoading | 搜索与接口匹配的后端时发生了错误。 |
ProductionBackendLoaded | 由于自动发现,已加载生产后端。 |
SimulationBackendLoaded | 由于自动发现,已加载模拟后端。 |
isInitialized : 布尔 |
指示功能是否已使用从后端的所有值初始化。
一旦后端发送QIfFeatureInterface::initializationDone信号,表示所有值都已使用后端值初始化,该属性为true
。
isValid : 布尔 |
指示功能是否准备就绪以使用。
如果功能准备就绪以使用,则该属性为true
,否则为false
。未准备就绪通常表示找不到合适的服务对象,或者未触发自动发现。
后端可能仍尚未发送所有属性并且尚未完全初始化。请使用isInitialized而不是它,以知道功能是否持有所有正确的值。
包含要在自动发现期间加载的首选后端的通配符列表。
自动发现机制将自动搜索为此功能实现提供匹配接口的后端。有关更多信息,请参阅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.在芬兰及其它国家和地区的商标。所有其他商标均属于各自所有者。