本页内容

QTransposeProxyModel Class

该代理对源模型进行了转置。更多内容...

标题: #include <QTransposeProxyModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
继承自: QAbstractProxyModel

公共函数

QTransposeProxyModel(QObject *parent = nullptr)
virtual ~QTransposeProxyModel()

重新实现的公共函数

virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override
virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
virtual QMap<int, QVariant> itemData(const QModelIndex &index) const override
virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override
virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const override
virtual bool moveColumns(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override
virtual bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override
virtual QModelIndex parent(const QModelIndex &index) const override
virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override
virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override
virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override
virtual void setSourceModel(QAbstractItemModel *newSourceModel) override
virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override
virtual QSize span(const QModelIndex &index) const override

详细说明

该模型将使源模型的行成为代理模型的列,反之亦然。

如果模型是树结构,父节点也将被转置。例如,如果源模型中某个索引的父节点是 `index(2,0)`,那么在代理模型中,它的父节点将变为 `index(0,2)`。

成员函数文档

[explicit] QTransposeProxyModel::QTransposeProxyModel(QObject *parent = nullptr)

使用给定的parent 构建一个新的代理模型。

[virtual noexcept] QTransposeProxyModel::~QTransposeProxyModel()

销毁代理模型。

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

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

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

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

另请参见 setHeaderData()。

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

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

[override virtual] bool QTransposeProxyModel::insertColumns(int column, int count, const QModelIndex &parent = QModelIndex())

重写了:QAbstractItemModel::insertColumns(int column, int count, const QModelIndex &parent)。

[override virtual] bool QTransposeProxyModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())

重写了:QAbstractItemModel::insertRows(int row, int count, const QModelIndex &parent)。

[override virtual] QMap<int, QVariant> QTransposeProxyModel::itemData(const QModelIndex &index) const

重写了:QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const。

另请参阅 setItemData()。

[override virtual] QModelIndex QTransposeProxyModel::mapFromSource(const QModelIndex &sourceIndex) const

重写了:QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) const。

[override virtual] QModelIndex QTransposeProxyModel::mapToSource(const QModelIndex &proxyIndex) const

重写了:QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) const。

[override virtual] bool QTransposeProxyModel::moveColumns(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)

重写了:QAbstractItemModel::moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild)。

[override virtual] bool QTransposeProxyModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)

重写了:QAbstractItemModel::moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)。

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

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

[override virtual] bool QTransposeProxyModel::removeColumns(int column, int count, const QModelIndex &parent = QModelIndex())

重写了:QAbstractItemModel::removeColumns (int column, int count, const QModelIndex &parent)。

[override virtual] bool QTransposeProxyModel::removeRows(int row, int count, const QModelIndex &parent = QModelIndex())

重写了:QAbstractItemModel::removeRows(int row, int count, const QModelIndex &parent)。

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

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

[override virtual] bool QTransposeProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)

重写了:QAbstractProxyModel::setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role)。

另请参阅 headerData()。

[override virtual] bool QTransposeProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)

重写了:QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)。

另请参阅 itemData()。

[override virtual] void QTransposeProxyModel::setSourceModel(QAbstractItemModel *newSourceModel)

重写了:QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel)。

[override virtual] void QTransposeProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)

重写了:QAbstractProxyModel::sort(int column, Qt::SortOrder order)。

此方法不会执行任何操作。若需排序,请在此方法之上重写QSortFilterProxyModel 。

[override virtual] QSize QTransposeProxyModel::span(const QModelIndex &index) const

重写了:QAbstractProxyModel::span(const QModelIndex &index) const。

© 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.