ComponentModel 类

QInstaller::ComponentModel

ComponentModel 类用于存储用于安装的组件的可视表示数据模型。有关更多信息,请参阅这里

头文件 #include <ComponentModel>
继承 QAbstractItemModel

公共类型

flagsModelState
枚举ModelStateFlag { Empty, AllChecked, AllUnchecked, DefaultChecked, PartiallyChecked }

公共函数

ComponentModel(int columns, QInstaller::PackageManagerCore *core = 0)
虚函数~ComponentModel()
QSet<QInstaller::Component *>checked() const
QInstaller::ComponentModel::ModelStatecheckedState() const
QInstaller::Component *componentFromIndex(const QModelIndex &index) const
QInstaller::PackageManagerCore *core() const
QModelIndexindexFromComponentName(const QString &name) const
QSet<QInstaller::Component *>partially() const
QSet<QInstaller::Component *>uncheckable() const
QSet<QInstaller::Component *>unchecked() const

重新实现公共函数

虚函数 intcolumnCount(const QModelIndex &parent = QModelIndex()) const override
虚函数 QVariantdata(const QModelIndex &index, int role = Qt::DisplayRole) const override
虚函数 Qt::ItemFlagsflags(const QModelIndex &index) const override
虚函数 QVariantheaderData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
虚函数 QModelIndexindex(int row, int column, const QModelIndex &parent = QModelIndex()) const override
虚函数 QModelIndexparent(const QModelIndex &child) const override
虚函数 introwCount(const QModelIndex &parent = QModelIndex()) const override
虚函数 boolsetData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
虚函数 boolsetHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override

公共槽

voidreset(QList<QInstaller::Component *> rootComponents = QList<Component *>())
voidsetCheckedState(QInstaller::ComponentModel::ModelStateFlag state)

信号

voidcheckStateChanged(QInstaller::ComponentModel::ModelState state)

详细描述

成员类型文档

枚举 ComponentModel::ModelStateFlag
标志 组件模型::ModelState

该枚举值保存可安装组件的选中状态。

常量描述
QInstaller::ComponentModel::Empty-0x01该模型不包含任何组件。
QInstaller::ComponentModel::AllChecked0x01所有组件都已选中。
QInstaller::ComponentModel::AllUnchecked0x02没有组件被选中。
QInstaller::ComponentModel::DefaultChecked0x04默认选中的组件已被选中。
QInstaller::ComponentModel::PartiallyChecked0x08部分组件已选中。

ModelState 类型是 QFlags<ModelStateFlag> 的 typedef。它存储了 ModelStateFlag 值的 OR 组合。

成员函数文档

[显式] ComponentModel::ComponentModel(int columns, QInstaller::PackageManagerCore *core = 0)

构建具有给定数量 columnscore 作为父级的组件模型。

[虚函数 noexcept] ComponentModel::~ComponentModel()

销毁组件模型。

[信号] void ComponentModel::checkStateChanged(QInstaller::ComponentModel::ModelState state)

当模型的状态计算完成后,模型的选中状态改变时,将发出此信号。 state 是一系列 ModelStateFlag 值的组合,指示模型是否具有默认选中状态,所有组件是否选中或未选中,或某个单独组件的选中状态是否已更改。

QSet<QInstaller::Component *> ComponentModel::checked() const

返回已选中组件的列表。

QInstaller::ComponentModel::ModelState ComponentModel::checkedState() const

返回模型当前的选中状态。

另请参阅setCheckedState

[重写虚函数] int ComponentModel::columnCount(const QModelIndex &parent = QModelIndex()) const

重写: QAbstractItemModel::columnCount(const QModelIndex &parent) const.

返回给定 parent 的列数。

QInstaller::Component *ComponentModel::componentFromIndex(const QModelIndex &index) const

在给定的 QModelIndex index 和其关联的 Component 之间进行转换。如果索引有效,则返回组件,如果提供无效的 QModelIndex,则返回 0

QInstaller::PackageManagerCore *ComponentModel::core() const

返回指向属于此模型的 PackageManagerCore 的指针。

[重写虚拟] QVariant ComponentModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const

重新实现:QAbstractItemModel::data(const QModelIndex &index, int role) const

返回由给定 index 指向的项目在 role 下存储的数据。

注意:如果给定的索引无效,则返回一个 无效QVariant。仅支持第一次列的 Qt::CheckStateRole。对于第一次列之外的列,特别处理了 Qt::EditRoleQt::DisplayRoleQt::ToolTipRole,它们转换为 Qt::UserRole + index.column()

另请参阅setData

[重写虚拟] Qt::ItemFlags ComponentModel::flags(const QModelIndex &index) const

重新实现:QAbstractItemModel::flags(const QModelIndex &index) const

返回给定 index 的项目标记。

返回一组标记的组合,该组合使项目启用 (Qt::ItemIsEnabled),并允许选中 (Qt::ItemIsSelectable) 和进行检查 (Qt::ItemIsUserCheckable)。

[重写虚拟] QVariant ComponentModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const

重新实现:QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const

返回指定 orientation 的标题中给定 sectionrole 的数据。如果 section 超出范围,orientation 不是 Qt::Horizontal 或者 role 不是 Qt::DisplayRole,则返回一个无效的 无效QVariant

另请参阅setHeaderData

[重写虚拟] QModelIndex ComponentModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

重新实现:QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const

返回由给定的 rowcolumnparent 索引指定的模型中项目的索引。

QModelIndex ComponentModel::indexFromComponentName(const QString &name) const

在给定的组件 名称 和其关联的 QModelIndex 之间进行转换。返回表示组件的 QModelIndex 或者在模型中不存在组件时返回一个无效的 QModelIndex

[覆盖虚函数] QModelIndex ComponentModel::parent(const QModelIndex &child) const

重实现: QAbstractItemModel::parent(const QModelIndex &index) const.

返回给定 子项 的父项。如果没有父项,将返回一个无效的 QModelIndex

QSet<QInstaller::Component *> ComponentModel::partially() const

返回部分检查的组件列表。

[槽函数] void ComponentModel::reset(QList<QInstaller::Component *> rootComponents = QList<Component *>())

重置模型并将 rootComponents 设置为当前显示的组件列表。

模型将被重新填充,并将各个组件的选中状态用于在可视组件表示前的复选标记中显示。将发出 modelAboutToBeReset() 和 modelReset() 信号。

[覆盖虚函数] int ComponentModel::rowCount(const QModelIndex &parent = QModelIndex()) const

重实现: QAbstractItemModel::rowCount(const QModelIndex &parent) const.

返回给定 父项 下子项的数量。当父项索引无效时,返回值是根项数量。

[槽函数] void ComponentModel::setCheckedState(QInstaller::ComponentModel::ModelStateFlag state)

将模型中每个组件的选中状态设置为 state

此函数忽略 ComponentModel::PartiallyChecked 标志。请注意,如果组件不可选,则不会更改组件。发出模型CheckStateChanged() 信号。

另请参阅 checkedState().

[覆盖虚函数] bool ComponentModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

重实现: QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role).

index 处项的 role 数据设置为 value。如果成功则返回 true;否则返回 false。如果成功设置了数据,则发出 dataChanged() 信号。

另请参阅 data().

[重写虚函数] bool ComponentModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)

重写: QAbstractItemModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role).

将给定 rolesection 的数据设置为指定 orientation 的标头中的 value。如果成功更新标头的数据,则返回 true;否则返回 false。如果数据设置成功,会发出 headerDataChanged() 信号。

注意:仅支持 Qt::Horizontal 方向。

另请参阅headerData

QSet<QInstaller::Component *> ComponentModel::uncheckable() const

返回无法更改选中状态的组件列表。如果没有以强制安装参数运行包管理器核心,列表始终为空。

QSet<QInstaller::Component *> ComponentModel::unchecked() const

返回未选中组件的列表。

©2021 Qt公司有限公司。本文档中包含的贡献为各自所有权者的版权。本文档根据自由软件基金会发布的 GNU自由文档许可第1.3版 的条款提供许可。Qt公司、Qt及其相应标志是芬兰以及/或世界上其他国家的Qt公司有限责任公司的商标。所有其他商标均为其各自所有权者的财产。