QIviAbstractFeatureListModel 类
QIviAbstractFeatureListModel 是具有模型行为的 QtIvi 特性的基类。 更多...
头文件 | #include <QIviAbstractFeatureListModel> |
qmake | QT += ivicore |
由以下类实例化 | AbstractFeatureListModel |
继承自 | QAbstractListModel 和 QQmlParserStatus |
继承自 |
属性
|
|
公共函数
QIviAbstractFeatureListModel(const QString &interfaceName, QObject *parent = nullptr) | |
QIviAbstractFeature::DiscoveryMode | discoveryMode() const |
QIviAbstractFeature::DiscoveryResult | discoveryResult() const |
QIviAbstractFeature::Error | error() const |
QString | errorMessage() const |
bool | isInitialized() const |
bool | isValid() const |
QIviServiceObject * | serviceObject() const |
公共槽
void | setDiscoveryMode(QIviAbstractFeature::DiscoveryMode discoveryMode) |
bool | setServiceObject(QIviServiceObject *so) |
QIviAbstractFeature::DiscoveryResult | startAutoDiscovery() |
信号
void | discoveryModeChanged(QIviAbstractFeature::DiscoveryMode discoveryMode) |
void | discoveryResultChanged(QIviAbstractFeature::DiscoveryResult discoveryResult) |
void | errorChanged(QIviAbstractFeature::Error error, const QString &message) |
void | isInitializedChanged(bool isInitialized) |
void | isValidChanged(bool arg) |
void | serviceObjectChanged() |
保护函数
virtual bool | acceptServiceObject(QIviServiceObject *serviceObject) |
virtual void | clearServiceObject() = 0 |
virtual void | connectToServiceObject(QIviServiceObject *serviceObject) |
virtual void | disconnectFromServiceObject(QIviServiceObject *serviceObject) |
QString | errorText() const |
QString | interfaceName() const |
void | setError(QIviAbstractFeature::Error error, const QString &message = QString()) |
保护槽函数
virtual void | onErrorChanged(QIviAbstractFeature::Error error, const QString &message = QString()) |
详细描述
这个基类是必要的,以避免从 QAbstractListModel 和 QIviAbstractFeature 进行虚继承。
有关功能的工作方式,请参阅 QIviAbstractFeature。有关 QtIvi 中模型的信息,请参阅 模型。
派生
您的 QIviAbstractFeatureListModel 派生类必须提供来自 QIviAbstractFeature 以及来自 QAbstractListModel 的所有虚函数的实现。
- 有关如何与 动态后端系统 集成的更多细节,请参阅 QIviAbstractFeature。
- 有关提供模型所需功能需要做什么的更多细节,请参阅 QAbstractListModel - 派生。
- 有关实现所有必要的 QIviAbstractFeatureListModel 函数以提供分页功能的一个类的示例,请参阅 QIviPagingModel。
属性文档
discoveryMode : QIviAbstractFeature::DiscoveryMode
存储用于自动发现的模式
注意:如果您在功能实例化后更改此属性,则需要调用 startAutoDiscovery() 以搜索新的服务对象
访问函数
QIviAbstractFeature::DiscoveryMode | discoveryMode() const |
void | setDiscoveryMode(QIviAbstractFeature::DiscoveryMode discoveryMode) |
通知信号
void | discoveryModeChanged(QIviAbstractFeature::DiscoveryMode discoveryMode) |
discoveryResult : const QIviAbstractFeature::DiscoveryResult
此属性保存上一次自动发现尝试的结果
访问函数
QIviAbstractFeature::DiscoveryResult | discoveryResult() const |
通知信号
void | discoveryResultChanged(QIviAbstractFeature::DiscoveryResult discoveryResult) |
另请参阅 startAutoDiscovery。
error : const QString
功能的上一个错误消息。如果没有错误则为空。
访问函数
QString | errorMessage() const |
通知信号
void | errorChanged(QIviAbstractFeature::Error error, const QString &message) |
isInitialized : const bool
指示功能是否已使用后端的所有值初始化。
当后端发送 QIviFeatureInterface::initializationDone 信号以指示所有值都已使用后端值初始化时,该属性为 true
。
访问函数
bool | isInitialized() const |
通知信号
void | isInitializedChanged(bool isInitialized) |
另请参阅 isValid 和 QIviFeatureInterface::initializationDone.
isValid : const bool
指示功能是否准备好使用。
如果功能准备好了可以用于,则此属性为 true
,否则 false
。未准备好通常表示无法找到合适的对象,或者自动发现机制尚未触发。
后端可能尚未发送所有属性,且未完全初始化。要确定功能是否具有所有正确的值,请使用 isInitialized。
访问函数
bool | isValid() const |
通知信号
void | isValidChanged(bool arg) |
另请参阅 QIviServiceObject、discoveryMode 和 isInitialized。
serviceObject : QIviServiceObject*
为功能设置服务对象。
由于功能仅暴露面向开发者的前端API,因此需要一个实现实际功能的对象。这通常是通过自动发现机制获取的。
如果要设置的对象已设置为正好是这个实例或对象不被功能接受,则该属性的设置器将返回 false
。
访问函数
QIviServiceObject * | serviceObject() const |
bool | setServiceObject(QIviServiceObject *so) |
通知信号
void | serviceObjectChanged() |
另请参阅 discoveryMode。
成员函数文档
QIviAbstractFeatureListModel::QIviAbstractFeatureListModel(const QString &interfaceName, QObject *parent = nullptr)
构建 QIviAbstractFeatureListModel。
此 parent 参数传递给 QAbstractListModel 基类。
使用 interfaceName 参数以定位合适的服务对象。
[虚拟受保护槽函数]
void QIviAbstractFeatureListModel::onErrorChanged(QIviAbstractFeature::Error error, const QString &message = QString())
从前端更新 error 和 message。
在实现新的功能时可以使用此槽来报告通用错误。
[槽函数]
QIviAbstractFeature::DiscoveryResult QIviAbstractFeatureListModel::startAutoDiscovery()
执行自动发现尝试。
[虚拟受保护]
bool QIviAbstractFeatureListModel::acceptServiceObject(QIviServiceObject *serviceObject)
此方法预期将由派生自 QIviFeature 的任何类实现。
该方法应返回 true
如果给定的 serviceObject 被接受并可以用于,否则 false
。
如果对象被接受,则调用 connectToServiceObject 以实际连接到服务对象。
默认实现会接受通过 interfaceName(); 返回的接口的 serviceObject。
另请参阅 connectToServiceObject、disconnectFromServiceObject 和 clearServiceObject。
[纯虚受保护]
void QIviAbstractFeatureListModel::clearServiceObject()
此方法应由任何继承自QIviAbstractFeatureListModel的类实现。
当没有服务对象可用时被调用。实现应将所有属性设置为安全默认值,并忘记之前服务对象的全部链接。
注意:必须发出这些属性的相应更改信号,以便特性能够了解状态更改。这使得实现类可以在之后连接到新的服务对象。
无需断开与服务对象的连接。如果它仍然存在,则可以保证在调用disconnectFromServiceObject之前会先调用它。
另请参阅acceptServiceObject(), connectToServiceObject()以及disconnectFromServiceObject()。
[虚受保护]
void QIviAbstractFeatureListModel::connectToServiceObject(QIviServiceObject *serviceObject)
此方法预期将由派生自 QIviFeature 的任何类实现。
实现应连接到serviceObject,并将所有属性设置以反映服务对象的状态。
没有先前连接的服务对象,因为此功能调用总是紧随disconnectFromServiceObject或clearServiceObject调用。
可以安全地假设在进行传递给此方法之前,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的连接。
无需将内部变量重置为安全默认值。此函数的调用总是紧随connectToServiceObject或clearServiceObject的调用。
默认实现将所有信号从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. 的商标。所有其他商标均为其各自所有者的财产。