TTableModel Class

Header: #include <TTableModel>
Inherits: QAbstractItemModel

Properties

  • 1 property inherited from QObject

Public Functions

TTableModel(QObject *parent = 0)
~TTableModel()
bool foreachItem(bool(* ) ( const QModelIndex & iModelIndex, TTableModel * iTableModel, const QVariantList & iParVarLst, QVariantList * iVarLstPtr ) func, const QVariantList &iInputVarLst = QVariantList(), QVariantList *iOutputVarLst = 0)
int horizontalHeaderLevel() const
THeaderModel *horizontalHeaderModel() const
QModelIndex index(TTableItem *iTableItem) const
QVariant roleDataConvert(int iRoleInt, const QVariant &iValueVar) const
void setDataCallback(QVariant(* ) ( const QModelIndex & iModelIndex, int iRoleInt, TTableItem * iTableItem ) callback)

Reimplemented Public Functions

virtual int columnCount(const QModelIndex &iParentModelIndex = QModelIndex()) const
virtual QVariant data(const QModelIndex &iModelIndex, int iRoleInt) const
virtual Qt::ItemFlags flags(const QModelIndex &iModelIndex) const
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
virtual QModelIndex index(int iRowInt, int iColumnInt, const QModelIndex &parent = QModelIndex()) const
virtual QModelIndex parent(const QModelIndex &iChildModelIndex) const
virtual int rowCount(const QModelIndex &iparentModelIndex = QModelIndex()) const
virtual bool setData(const QModelIndex &iModelIndex, const QVariant &iValueVar, int iRoleInt)
virtual void sort(int iColumn, Qt::SortOrder iOrder = Qt::AscendingOrder)

Public Slots

TTableItem *addRowAfter(const QVariant &iRowDataVar, const QModelIndex &iAfterModelIndex = QModelIndex())
TTableItem *addRowBefore(const QVariant &iRowDataVar, const QModelIndex &iBeforeModelIndex = QModelIndex())
QList<TTableItem *> addRowsAfter(const QVariantList &iRowsDataVarLst, const QModelIndex &iAfterModelIndex = QModelIndex())
void addRowsAfter(QList<TTableItem *> iItemsLst, const QModelIndex &iAfterModelIndex = QModelIndex())
QList<TTableItem *> addRowsBefore(const QVariantList &iRowsData, const QModelIndex &iBeforeModelIndex = QModelIndex())
void addRowsBefore(QList<TTableItem *> iItemsLst, const QModelIndex &iBeforeModelIndex = QModelIndex())
QVariantList allDataMap(const QString &iIndexKeyStr = QString( "" ), const QString &iVisibleKeyStr = QString( "" ), bool iIncludeHiddenBol = true)
QVariantList allPrimaryKey(bool iIncludeHiddenBol = true)
TTableItem *appendRow(const QVariant &iRowDataVar)
QList<TTableItem *> appendRows(const QVariantList &iRowsDataVarLst)
void appendRows(QList<TTableItem *> iItemsLst)
void clear()
QString columnName(int iNumInt)
int columnNumber(const QString &iColName)
QStringList dataKeyList()
QList<TTableItem *> dataList()
int dragMode() const
QModelIndex findRow(const QVariant &iValueVar, const QString &iColNameStr = QString( "" ))
QModelIndexList findRows(const QVariant &iValueVar, const QString &iColNameStr = QString( "" ), int iFilterInt = 1)
QModelIndexList findRows(const QVariantList &iValuesVarLst, const QString &iColNameStr = QString( "" ), int iFilterInt = 1)
QModelIndexList findRows(const QRegExp &iRegExp, const QStringList &iColNameStrLst = QStringList(), int iFilterInt = 1)
QVariantList headerItem()
QString indexString(const QModelIndex &iModeIndex) const
QList<TTableItem *> insertRows(int iRowInt, QVariantList iValuesVarLst)
void insertRows(int iRowInt, QList<TTableItem *> iItemsLst)
TTableItem *item(const QModelIndex &iModelIndex) const
TTableItem *itemFromVariant(const QVariant &iValueVar)
void loadData(const QVariantList &iDataVarLst)
void moveRowsBottom(const QModelIndexList &iModelIndexLst)
void moveRowsDown(const QModelIndexList &iModelIndexLst)
void moveRowsTop(const QModelIndexList &iModelIndexLst)
void moveRowsUp(const QModelIndexList &iModelIndexLst)
TTableItem *prependRow(const QVariant &iRowDataVar)
QList<TTableItem *> prependRows(const QVariantList &iRowsDataVarLst)
void prependRows(QList<TTableItem *> iItemsLst)
QString primaryKey()
void refreshRowVisible()
bool removeRow(const QModelIndex &iModelIndex)
bool removeRows(const QModelIndexList &iModelIndexLst)
QVariantList rowDataList(const QModelIndex &iModelIndex) const
QVariantMap rowDataMap(const QModelIndex &iModelIndex, const QString &iIndexKeyStr = QString( "" ), const QString &iVisibleKeyStr = QString( "" )) const
QVariantMap rowDataMap(TTableItem *iTableItem, const QString &iIndexKeyStr, const QString &iVisibleKeyStr) const
QVariant rowPrimaryKey(const QModelIndex &iModelIndex)
void setAllRowsVisible(bool iVisibleBol)
void setColumnVisible(const QString &iColNameStr, bool iVisibleBol)
void setColumnVisible(int iNumInt, bool iVisibleBol)
void setColumnsVisible(QMap<QString, bool> iVisiblesMap)
void setDataKeyList(const QStringList &iKeyStrLst)
void setDragMode(int iDragModeInt)
void setHeaderItem(const QVariantList &iHeaderItemVarLst)
void setOptionsData(int iCol, const QVariant &iData)
void setPrimaryKey(const QString &iKeyStr)
void setRowData(const QModelIndex &iModelIndex, const QVariant &iRowDataVar, bool iResetBol = false)
void setRowKeyValue(const QModelIndex &iModelIndex, const QString &iKeyStr, const QVariant &iValueStr, bool iEmitChangeBol = true)
void setRowVisible(const QModelIndex &iModelIndex, bool iVisibleBol)
void setRowsVisible(const QModelIndexList &iModeIndexLst, bool iVisibleBol)
void setVisibleKey(const QString &iKeyStr)
QVariantList variantToItemDataList(const QVariant &iValueVar, bool *iVisibleBolPtr = 0)
QString visibleKey()

Signals

void columnStateChanged(int iNumInt, const QVariantMap &iStateMap, bool iResetBol)
void rowCheckStateChanged(const QModelIndex &iModelIndex)
void rowVisibleChanged(const QModelIndex &iModelIndex, bool iVisibleBol)

Static Public Members

bool itemGreaterThan(const QPair<QVariant, int> &iLeft, const QPair<QVariant, int> &iRight)
bool itemLessThan(const QPair<QVariant, int> &iLeft, const QPair<QVariant, int> &iRight)
Qt::Alignment str2alignment(const QString &iStr)
  • 10 static public members inherited from QObject

Reimplemented Protected Functions

virtual bool dropMimeData(const QMimeData *iMimeData, Qt::DropAction iAction, int iRowInt, int iColumnInt, const QModelIndex &iParentModelIndex)
virtual QMimeData *mimeData(const QModelIndexList &iModelIndexeLst) const
virtual QStringList mimeTypes() const
virtual Qt::DropActions supportedDropActions() const

Additional Inherited Members

Detailed Description

Property Documentation

dragMode : int

Access functions:

int dragMode() const
void setDragMode(int iDragModeInt)

Member Function Documentation

TTableModel::TTableModel(QObject *parent = 0)

Default constructs an instance of TTableModel.

TTableModel::~TTableModel()

Destroys the instance of TTableModel.

[slot] TTableItem *TTableModel::addRowAfter(const QVariant &iRowDataVar, const QModelIndex &iAfterModelIndex = QModelIndex())

after 之后插入行

[slot] TTableItem *TTableModel::addRowBefore(const QVariant &iRowDataVar, const QModelIndex &iBeforeModelIndex = QModelIndex())

before 之前插入行

[slot] QList<TTableItem *> TTableModel::addRowsAfter(const QVariantList &iRowsDataVarLst, const QModelIndex &iAfterModelIndex = QModelIndex())

after 之后插入多行

[slot] void TTableModel::addRowsAfter(QList<TTableItem *> iItemsLst, const QModelIndex &iAfterModelIndex = QModelIndex())

[slot] QList<TTableItem *> TTableModel::addRowsBefore(const QVariantList &iRowsData, const QModelIndex &iBeforeModelIndex = QModelIndex())

before 之前插入多行

[slot] void TTableModel::addRowsBefore(QList<TTableItem *> iItemsLst, const QModelIndex &iBeforeModelIndex = QModelIndex())

[slot] QVariantList TTableModel::allDataMap(const QString &iIndexKeyStr = QString( "" ), const QString &iVisibleKeyStr = QString( "" ), bool iIncludeHiddenBol = true)

获取所有行数据

[slot] QVariantList TTableModel::allPrimaryKey(bool iIncludeHiddenBol = true)

[slot] TTableItem *TTableModel::appendRow(const QVariant &iRowDataVar)

追加行

[slot] QList<TTableItem *> TTableModel::appendRows(const QVariantList &iRowsDataVarLst)

追加多行

[slot] void TTableModel::appendRows(QList<TTableItem *> iItemsLst)

[slot] void TTableModel::clear()

[virtual] int TTableModel::columnCount(const QModelIndex &iParentModelIndex = QModelIndex()) const

[slot] QString TTableModel::columnName(int iNumInt)

[slot] int TTableModel::columnNumber(const QString &iColName)

[signal] void TTableModel::columnStateChanged(int iNumInt, const QVariantMap &iStateMap, bool iResetBol)

[virtual] QVariant TTableModel::data(const QModelIndex &iModelIndex, int iRoleInt) const

See also setData().

[slot] QStringList TTableModel::dataKeyList()

See also setDataKeyList().

[slot] QList<TTableItem *> TTableModel::dataList()

[virtual protected] bool TTableModel::dropMimeData(const QMimeData *iMimeData, Qt::DropAction iAction, int iRowInt, int iColumnInt, const QModelIndex &iParentModelIndex)

[slot] QModelIndex TTableModel::findRow(const QVariant &iValueVar, const QString &iColNameStr = QString( "" ))

查找 colname 列的值为 value 的一行

[slot] QModelIndexList TTableModel::findRows(const QVariant &iValueVar, const QString &iColNameStr = QString( "" ), int iFilterInt = 1)

查找 colname 列的值为 value 的所有行

[slot] QModelIndexList TTableModel::findRows(const QVariantList &iValuesVarLst, const QString &iColNameStr = QString( "" ), int iFilterInt = 1)

查找 colname 列的值包含在 values 的所有行

[slot] QModelIndexList TTableModel::findRows(const QRegExp &iRegExp, const QStringList &iColNameStrLst = QStringList(), int iFilterInt = 1)

查找 colnames 中的值匹配 re 的所有行

[virtual] Qt::ItemFlags TTableModel::flags(const QModelIndex &iModelIndex) const

bool TTableModel::foreachItem(bool(* ) ( const QModelIndex & iModelIndex, TTableModel * iTableModel, const QVariantList & iParVarLst, QVariantList * iVarLstPtr ) func, const QVariantList &iInputVarLst = QVariantList(), QVariantList *iOutputVarLst = 0)

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

Reimplemented from QAbstractItemModel::headerData().

获取行配置数据时没有处理 section orientation role Returns

[slot] QVariantList TTableModel::headerItem()

See also setHeaderItem().

int TTableModel::horizontalHeaderLevel() const

TTableModel::headerLevels

返回多级表头总的层级数量。

Returns

THeaderModel *TTableModel::horizontalHeaderModel() const

[virtual] QModelIndex TTableModel::index(int iRowInt, int iColumnInt, const QModelIndex &parent = QModelIndex()) const

QModelIndex TTableModel::index(TTableItem *iTableItem) const

[slot] QString TTableModel::indexString(const QModelIndex &iModeIndex) const

[slot] QList<TTableItem *> TTableModel::insertRows(int iRowInt, QVariantList iValuesVarLst)

[slot] void TTableModel::insertRows(int iRowInt, QList<TTableItem *> iItemsLst)

[slot] TTableItem *TTableModel::item(const QModelIndex &iModelIndex) const

[slot] TTableItem *TTableModel::itemFromVariant(const QVariant &iValueVar)

[static] bool TTableModel::itemGreaterThan(const QPair<QVariant, int> &iLeft, const QPair<QVariant, int> &iRight)

[static] bool TTableModel::itemLessThan(const QPair<QVariant, int> &iLeft, const QPair<QVariant, int> &iRight)

[slot] void TTableModel::loadData(const QVariantList &iDataVarLst)

载入数据

[virtual protected] QMimeData *TTableModel::mimeData(const QModelIndexList &iModelIndexeLst) const

[virtual protected] QStringList TTableModel::mimeTypes() const

[slot] void TTableModel::moveRowsBottom(const QModelIndexList &iModelIndexLst)

[slot] void TTableModel::moveRowsDown(const QModelIndexList &iModelIndexLst)

[slot] void TTableModel::moveRowsTop(const QModelIndexList &iModelIndexLst)

[slot] void TTableModel::moveRowsUp(const QModelIndexList &iModelIndexLst)

[virtual] QModelIndex TTableModel::parent(const QModelIndex &iChildModelIndex) const

[slot] TTableItem *TTableModel::prependRow(const QVariant &iRowDataVar)

在最前面插入行

[slot] QList<TTableItem *> TTableModel::prependRows(const QVariantList &iRowsDataVarLst)

在最前面插入多行

[slot] void TTableModel::prependRows(QList<TTableItem *> iItemsLst)

[slot] QString TTableModel::primaryKey()

See also setPrimaryKey().

[slot] void TTableModel::refreshRowVisible()

[slot] bool TTableModel::removeRow(const QModelIndex &iModelIndex)

移除行

[slot] bool TTableModel::removeRows(const QModelIndexList &iModelIndexLst)

移除多行

QVariant TTableModel::roleDataConvert(int iRoleInt, const QVariant &iValueVar) const

[signal] void TTableModel::rowCheckStateChanged(const QModelIndex &iModelIndex)

[virtual] int TTableModel::rowCount(const QModelIndex &iparentModelIndex = QModelIndex()) const

[slot] QVariantList TTableModel::rowDataList(const QModelIndex &iModelIndex) const

[slot] QVariantMap TTableModel::rowDataMap(const QModelIndex &iModelIndex, const QString &iIndexKeyStr = QString( "" ), const QString &iVisibleKeyStr = QString( "" )) const

获取行数据,以Map形式返回

[slot] QVariantMap TTableModel::rowDataMap(TTableItem *iTableItem, const QString &iIndexKeyStr, const QString &iVisibleKeyStr) const

[slot] QVariant TTableModel::rowPrimaryKey(const QModelIndex &iModelIndex)

获取行的主键值

[signal] void TTableModel::rowVisibleChanged(const QModelIndex &iModelIndex, bool iVisibleBol)

[slot] void TTableModel::setAllRowsVisible(bool iVisibleBol)

[slot] void TTableModel::setColumnVisible(const QString &iColNameStr, bool iVisibleBol)

设置列是否显示

[slot] void TTableModel::setColumnVisible(int iNumInt, bool iVisibleBol)

[slot] void TTableModel::setColumnsVisible(QMap<QString, bool> iVisiblesMap)

[virtual] bool TTableModel::setData(const QModelIndex &iModelIndex, const QVariant &iValueVar, int iRoleInt)

See also data().

void TTableModel::setDataCallback(QVariant(* ) ( const QModelIndex & iModelIndex, int iRoleInt, TTableItem * iTableItem ) callback)

[slot] void TTableModel::setDataKeyList(const QStringList &iKeyStrLst)

See also dataKeyList().

[slot] void TTableModel::setHeaderItem(const QVariantList &iHeaderItemVarLst)

TTableModel设置列标题信息,格式如下,第一列为Row Header信息设置


  [
        {
            "displayRole":".index"
        },
        {
            "name": "col1","display":"第一列","resizeMode":"ResizeToContents",
            "displayRole":".colnm1"
        },
        {
            "name": "col2","display":"第二列","resizeMode":"Fixed",
            "displayRole":".colnm2"
        },
        {
            "name": "col3","display":"第三列","resizeMode":"Stretch",
            "textAlignment":"HCenter|VCenter",
            "displayRole":".colnm3","typeRole":"html"
        },
        {
            "name": "col4","display":"第四列","resizeMode":"Interactive",
            "displayRole":".colnm4","typeRole":"progress"
        },
        {
            "name": "col5","display":"第五列",
            "displayRole":".colnm5","typeRole":"button",
            "propertyRole": {"text":"设置"}
        }
    ]

See also headerItem().

[slot] void TTableModel::setOptionsData(int iCol, const QVariant &iData)

[slot] void TTableModel::setPrimaryKey(const QString &iKeyStr)

See also primaryKey().

[slot] void TTableModel::setRowData(const QModelIndex &iModelIndex, const QVariant &iRowDataVar, bool iResetBol = false)

设置行数据

[slot] void TTableModel::setRowKeyValue(const QModelIndex &iModelIndex, const QString &iKeyStr, const QVariant &iValueStr, bool iEmitChangeBol = true)

设置行中 key 列数据

[slot] void TTableModel::setRowVisible(const QModelIndex &iModelIndex, bool iVisibleBol)

设置行是否显示

[slot] void TTableModel::setRowsVisible(const QModelIndexList &iModeIndexLst, bool iVisibleBol)

设置行是否显示

[slot] void TTableModel::setVisibleKey(const QString &iKeyStr)

See also visibleKey().

[virtual] void TTableModel::sort(int iColumn, Qt::SortOrder iOrder = Qt::AscendingOrder)

[static] Qt::Alignment TTableModel::str2alignment(const QString &iStr)

[virtual protected] Qt::DropActions TTableModel::supportedDropActions() const

[slot] QVariantList TTableModel::variantToItemDataList(const QVariant &iValueVar, bool *iVisibleBolPtr = 0)

[slot] QString TTableModel::visibleKey()

See also setVisibleKey().