本页内容

QAbstractItemModelReplica Class

QAbstractItemModelReplica 类是基于QAbstractItemModel 的源数据副本的便捷类。更多内容...

头文件: #include <QAbstractItemModelReplica>
CMake: find_package(Qt6 REQUIRED COMPONENTS RemoteObjects)
target_link_libraries(mytarget PRIVATE Qt6::RemoteObjects)
qmake: QT += remoteobjects
继承自: QAbstractItemModel

公共函数

virtual ~QAbstractItemModelReplica() override
QList<int> availableRoles() const
bool hasData(const QModelIndex &index, int role) const
bool isInitialized() const
size_t rootCacheSize() const
QItemSelectionModel *selectionModel() const
void setRootCacheSize(size_t rootCacheSize)

重新实现的公共函数

virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
virtual void multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const override
virtual QModelIndex parent(const QModelIndex &index) const override
virtual QHash<int, QByteArray> roleNames() const override
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override

信号

void initialized()

详细描述

QAbstractItemModelReplica 通过采用缓存和预取,提高了 QAbstractItemModel 的复制效率。

另请参阅 QAbstractItemModel 。

成员函数文档

[override virtual noexcept] QAbstractItemModelReplica::~QAbstractItemModelReplica()

销毁QAbstractItemModelReplica 的实例。

QList<int> QAbstractItemModelReplica::availableRoles() const

返回一个可用角色的列表。

另请参阅 QAbstractItemModel 。

[override virtual] int QAbstractItemModelReplica::columnCount(const QModelIndex &parent = QModelIndex()) const

重写了:QAbstractItemModel::columnCount(const QModelIndex &parent) const。

[override virtual] QVariant QAbstractItemModelReplica::data(const QModelIndex &index, int role = Qt::DisplayRole) const

重写:QAbstractItemModel::data(const QModelIndex &index, int role) const。

返回位于index 的项的role 数据(如果缓存中存在)。如果索引无效、角色不在可用角色之列、Replica未初始化或数据不可用,则返回一个默认构造的QVariant 。如果缓存中没有数据,则会向源(Source)请求数据。

另请参阅 QAbstractItemModel::data()、hasData()、setData() 以及isInitialized()。

[override virtual] Qt::ItemFlags QAbstractItemModelReplica::flags(const QModelIndex &index) const

重写了:QAbstractItemModel::flags(const QModelIndex &index) const。

[override virtual] bool QAbstractItemModelReplica::hasChildren(const QModelIndex &parent = QModelIndex()) const

重写了:QAbstractItemModel::hasChildren(const QModelIndex &parent) const。

bool QAbstractItemModelReplica::hasData(const QModelIndex &index, int role) const

如果index 上的项目存在role 数据,则返回true ;其他情况下返回false 。

[override virtual] QVariant QAbstractItemModelReplica::headerData(int section, Qt::Orientation orientation, int role) const

重写:QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const。

返回头文件中给定的role 和section 的数据,并采用指定的orientation 。

如果数据不可用,将向源(Source)请求数据。

另请参阅 QAbstractItemModel::headerData()。

[override virtual] QModelIndex QAbstractItemModelReplica::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

重写了:QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const。

[signal] void QAbstractItemModelReplica::initialized()

当我们首次从源接收数据时,会发出已初始化的信号。

另请参阅 isInitialized()。

bool QAbstractItemModelReplica::isInitialized() const

如果该副本已使用Source对象中的数据完成初始化,则返回true ;否则返回false 。

另请参阅 initialized()。

[override virtual] void QAbstractItemModelReplica::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const

重写了:QAbstractItemModel::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const。

[override virtual] QModelIndex QAbstractItemModelReplica::parent(const QModelIndex &index) const

重写了:QAbstractItemModel::parent(const QModelIndex &index) const。

[override virtual] QHash<int, QByteArray> QAbstractItemModelReplica::roleNames() const

重新实现了:QAbstractItemModel::roleNames() const。

size_t QAbstractItemModelReplica::rootCacheSize() const

返回内部缓存的当前大小。默认情况下,该值设置为QTRO_NODES_CACHE_SIZE 环境变量的值;如果该环境变量无效或不存在,则默认值为1000 。

另请参阅 setRootCacheSize()。

[override virtual] int QAbstractItemModelReplica::rowCount(const QModelIndex &parent = QModelIndex()) const

重写了:QAbstractItemModel::rowCount(const QModelIndex &parent) const。

QItemSelectionModel *QAbstractItemModelReplica::selectionModel() const

返回指向当前QAbstractItemModelReplica 的QItemSelectionModel 的指针。

[override virtual] bool QAbstractItemModelReplica::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

重写了:QAbstractItemModel::setData (const QModelIndex &index, const QVariant &value, int role)。

另请参阅 data()。

void QAbstractItemModelReplica::setRootCacheSize(size_t rootCacheSize)

将内部缓存的大小设置为rootCacheSize 。

另请参阅 rootCacheSize()。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.