ComponentModel 类
类 QInstaller::ComponentModelComponentModel 类用于存储用于安装的组件的可视表示数据模型。有关更多信息,请参阅这里。
头文件 | #include <ComponentModel> |
继承 | QAbstractItemModel |
公共类型
flags | ModelState |
枚举 | ModelStateFlag { Empty, AllChecked, AllUnchecked, DefaultChecked, PartiallyChecked } |
公共函数
ComponentModel(int columns, QInstaller::PackageManagerCore *core = 0) | |
虚函数 | ~ComponentModel() |
QSet<QInstaller::Component *> | checked() const |
QInstaller::ComponentModel::ModelState | checkedState() const |
QInstaller::Component * | componentFromIndex(const QModelIndex &index) const |
QInstaller::PackageManagerCore * | core() const |
QModelIndex | indexFromComponentName(const QString &name) const |
QSet<QInstaller::Component *> | partially() const |
QSet<QInstaller::Component *> | uncheckable() const |
QSet<QInstaller::Component *> | unchecked() const |
重新实现公共函数
虚函数 int | columnCount(const QModelIndex &parent = QModelIndex()) const override |
虚函数 QVariant | data(const QModelIndex &index, int role = Qt::DisplayRole) const override |
虚函数 Qt::ItemFlags | flags(const QModelIndex &index) const override |
虚函数 QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override |
虚函数 QModelIndex | index(int row, int column, const QModelIndex &parent = QModelIndex()) const override |
虚函数 QModelIndex | parent(const QModelIndex &child) const override |
虚函数 int | rowCount(const QModelIndex &parent = QModelIndex()) const override |
虚函数 bool | setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override |
虚函数 bool | setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override |
公共槽
void | reset(QList<QInstaller::Component *> rootComponents = QList<Component *>()) |
void | setCheckedState(QInstaller::ComponentModel::ModelStateFlag state) |
信号
void | checkStateChanged(QInstaller::ComponentModel::ModelState state) |
成员类型文档
枚举 ComponentModel::ModelStateFlag
标志 组件模型::ModelState
该枚举值保存可安装组件的选中状态。
常量 | 值 | 描述 |
---|---|---|
QInstaller::ComponentModel::Empty | -0x01 | 该模型不包含任何组件。 |
QInstaller::ComponentModel::AllChecked | 0x01 | 所有组件都已选中。 |
QInstaller::ComponentModel::AllUnchecked | 0x02 | 没有组件被选中。 |
QInstaller::ComponentModel::DefaultChecked | 0x04 | 默认选中的组件已被选中。 |
QInstaller::ComponentModel::PartiallyChecked | 0x08 | 部分组件已选中。 |
ModelState 类型是 QFlags<ModelStateFlag> 的 typedef。它存储了 ModelStateFlag 值的 OR 组合。
成员函数文档
[显式]
ComponentModel::ComponentModel(int columns, QInstaller::PackageManagerCore *core = 0)
构建具有给定数量 columns 和 core 作为父级的组件模型。
[虚函数 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::EditRole,Qt::DisplayRole 和 Qt::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 的标题中给定 section 和 role 的数据。如果 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。
返回由给定的 row,column 和 parent 索引指定的模型中项目的索引。
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).
将给定 role 和 section 的数据设置为指定 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公司有限责任公司的商标。所有其他商标均为其各自所有权者的财产。