QIviAbstractFeatureListModel 类

QIviAbstractFeatureListModel 是具有模型行为的 QtIvi 特性的基类。 更多...

头文件 #include <QIviAbstractFeatureListModel>
qmakeQT += ivicore
由以下类实例化 AbstractFeatureListModel
继承自 QAbstractListModelQQmlParserStatus
继承自

QIviMediaDeviceDiscoveryModelQIviPagingModel

属性

公共函数

QIviAbstractFeatureListModel(const QString &interfaceName, QObject *parent = nullptr)
QIviAbstractFeature::DiscoveryModediscoveryMode() const
QIviAbstractFeature::DiscoveryResultdiscoveryResult() const
QIviAbstractFeature::Errorerror() const
QStringerrorMessage() const
boolisInitialized() const
boolisValid() const
QIviServiceObject *serviceObject() const

公共槽

voidsetDiscoveryMode(QIviAbstractFeature::DiscoveryMode discoveryMode)
boolsetServiceObject(QIviServiceObject *so)
QIviAbstractFeature::DiscoveryResultstartAutoDiscovery()

信号

voiddiscoveryModeChanged(QIviAbstractFeature::DiscoveryMode discoveryMode)
voiddiscoveryResultChanged(QIviAbstractFeature::DiscoveryResult discoveryResult)
voiderrorChanged(QIviAbstractFeature::Error error, const QString &message)
voidisInitializedChanged(bool isInitialized)
voidisValidChanged(bool arg)
voidserviceObjectChanged()

保护函数

virtual boolacceptServiceObject(QIviServiceObject *serviceObject)
virtual voidclearServiceObject() = 0
virtual voidconnectToServiceObject(QIviServiceObject *serviceObject)
virtual voiddisconnectFromServiceObject(QIviServiceObject *serviceObject)
QStringerrorText() const
QStringinterfaceName() const
voidsetError(QIviAbstractFeature::Error error, const QString &message = QString())

保护槽函数

virtual voidonErrorChanged(QIviAbstractFeature::Error error, const QString &message = QString())

详细描述

这个基类是必要的,以避免从 QAbstractListModelQIviAbstractFeature 进行虚继承。

有关功能的工作方式,请参阅 QIviAbstractFeature。有关 QtIvi 中模型的信息,请参阅 模型

派生

您的 QIviAbstractFeatureListModel 派生类必须提供来自 QIviAbstractFeature 以及来自 QAbstractListModel 的所有虚函数的实现。

属性文档

discoveryMode : QIviAbstractFeature::DiscoveryMode

存储用于自动发现的模式

注意:如果您在功能实例化后更改此属性,则需要调用 startAutoDiscovery() 以搜索新的服务对象

访问函数

QIviAbstractFeature::DiscoveryModediscoveryMode() const
voidsetDiscoveryMode(QIviAbstractFeature::DiscoveryMode discoveryMode)

通知信号

voiddiscoveryModeChanged(QIviAbstractFeature::DiscoveryMode discoveryMode)

discoveryResult : const QIviAbstractFeature::DiscoveryResult

此属性保存上一次自动发现尝试的结果

访问函数

QIviAbstractFeature::DiscoveryResultdiscoveryResult() const

通知信号

voiddiscoveryResultChanged(QIviAbstractFeature::DiscoveryResult discoveryResult)

另请参阅 startAutoDiscovery

error : const QString

功能的上一个错误消息。如果没有错误则为空。

访问函数

QStringerrorMessage() const

通知信号

voiderrorChanged(QIviAbstractFeature::Error error, const QString &message)

isInitialized : const bool

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

当后端发送 QIviFeatureInterface::initializationDone 信号以指示所有值都已使用后端值初始化时,该属性为 true

访问函数

boolisInitialized() const

通知信号

voidisInitializedChanged(bool isInitialized)

另请参阅 isValidQIviFeatureInterface::initializationDone.

isValid : const bool

指示功能是否准备好使用。

如果功能准备好了可以用于,则此属性为 true,否则 false。未准备好通常表示无法找到合适的对象,或者自动发现机制尚未触发。

后端可能尚未发送所有属性,且未完全初始化。要确定功能是否具有所有正确的值,请使用 isInitialized

访问函数

boolisValid() const

通知信号

voidisValidChanged(bool arg)

另请参阅 QIviServiceObjectdiscoveryModeisInitialized

serviceObject : QIviServiceObject*

为功能设置服务对象。

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

如果要设置的对象已设置为正好是这个实例或对象不被功能接受,则该属性的设置器将返回 false

访问函数

QIviServiceObject *serviceObject() const
boolsetServiceObject(QIviServiceObject *so)

通知信号

voidserviceObjectChanged()

另请参阅 discoveryMode

成员函数文档

QIviAbstractFeatureListModel::QIviAbstractFeatureListModel(const QString &interfaceName, QObject *parent = nullptr)

构建 QIviAbstractFeatureListModel。

parent 参数传递给 QAbstractListModel 基类。

使用 interfaceName 参数以定位合适的服务对象。

[虚拟受保护槽函数] void QIviAbstractFeatureListModel::onErrorChanged(QIviAbstractFeature::Error error, const QString &message = QString())

从前端更新 errormessage

在实现新的功能时可以使用此槽来报告通用错误。

[槽函数] QIviAbstractFeature::DiscoveryResult QIviAbstractFeatureListModel::startAutoDiscovery()

执行自动发现尝试。

[虚拟受保护] bool QIviAbstractFeatureListModel::acceptServiceObject(QIviServiceObject *serviceObject)

此方法预期将由派生自 QIviFeature 的任何类实现。

该方法应返回 true 如果给定的 serviceObject 被接受并可以用于,否则 false

如果对象被接受,则调用 connectToServiceObject 以实际连接到服务对象。

默认实现会接受通过 interfaceName(); 返回的接口的 serviceObject

另请参阅 connectToServiceObjectdisconnectFromServiceObjectclearServiceObject

[纯虚受保护]void QIviAbstractFeatureListModel::clearServiceObject()

此方法应由任何继承自QIviAbstractFeatureListModel的类实现。

当没有服务对象可用时被调用。实现应将所有属性设置为安全默认值,并忘记之前服务对象的全部链接。

注意:必须发出这些属性的相应更改信号,以便特性能够了解状态更改。这使得实现类可以在之后连接到新的服务对象。

无需断开与服务对象的连接。如果它仍然存在,则可以保证在调用disconnectFromServiceObject之前会先调用它。

另请参阅acceptServiceObject(), connectToServiceObject()以及disconnectFromServiceObject()。

[虚受保护]void QIviAbstractFeatureListModel::connectToServiceObject(QIviServiceObject *serviceObject)

此方法预期将由派生自 QIviFeature 的任何类实现。

实现应连接到serviceObject,并将所有属性设置以反映服务对象的状态。

没有先前连接的服务对象,因为此功能调用总是紧随disconnectFromServiceObjectclearServiceObject调用。

可以安全地假设在进行传递给此方法之前,serviceObject已被通过acceptServiceObject方法接受。

默认实现连接到QIviFeatureInterface提供的信号,并在之后调用QIviFeatureInterface::initialize()。

重新实现时,请记住在调用此函数之前连接所有信号。例如:

/code void SimpleFeature::connectToServiceObject(QIviServiceObject *serviceObject) { SimpleFeatureBackendInterface *backend = backend(serviceObject); if (!backend) return;

// 连接你的信号连接(backend, &SimpleFeatureBackendInterface::propertyChanged, this, &SimpleFeature::onPropertyChanged);

// 连接基本信号并调用initialize() QIviAbstractFeature::connectToServiceObject(serviceObject);

// 这里可以添加其他初始化函数 } /endcode

另请参阅acceptServiceObject (), disconnectFromServiceObject () 和 clearServiceObject ()。

[虚受保护]void QIviAbstractFeatureListModel::disconnectFromServiceObject(QIviServiceObject *serviceObject)

此方法预期将由派生自 QIviFeature 的任何类实现。

实现应断开所有对serviceObject的连接。

无需将内部变量重置为安全默认值。此函数的调用总是紧随connectToServiceObjectclearServiceObject的调用。

默认实现将所有信号从serviceObject断开与此实例的连接。

另请参阅acceptServiceObject (), connectToServiceObject () 和 clearServiceObject ()。

QIviAbstractFeature::错误 QIviAbstractFeatureListModel::错误() const

返回最后一个错误代码。

另请参阅 setError() 和 QIviAbstractFeature::错误

[保护] QString QIviAbstractFeatureListModel::错误文本() const

返回从 QIviAbstractFeature::错误 转换为 QString 的当前错误代码。

另请参阅 错误

[保护] QString QIviAbstractFeatureListModel::接口名称() const

返回此功能期望从服务对象中可用的接口名称,以及此功能实现的接口。

有关更多信息,请参阅扩展 Qt IVI

[保护] void QIviAbstractFeatureListModel::setError(QIviAbstractFeature::错误 错误, const QString &信息 = QString())

使用 信息 设置 错误

触发 错误已更改 信号。

另请参阅 错误() 和 QIviAbstractFeature::错误

©2020 The Qt Company Ltd. 本文档中的文档贡献归各自所有者所有。本提供的文档根据由自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 和相应标志是芬兰和/或在其他国家/地区的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。