C++ (Qt)class Q_CORE_EXPORT QAbstractItemModel : public QObject{ Q_OBJECT ................................... Q_SIGNALS: void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); void headerDataChanged(Qt::Orientation orientation, int first, int last); void layoutChanged(); void layoutAboutToBeChanged(); #if !defined(Q_MOC_RUN) && !defined(qdoc)private: // can only be emitted by QAbstractItemModel#endif void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last); void rowsInserted(const QModelIndex &parent, int first, int last); void rowsAboutToBeRemoved(const QModelIndex &parent, int first, int last); void rowsRemoved(const QModelIndex &parent, int first, int last); void columnsAboutToBeInserted(const QModelIndex &parent, int first, int last); void columnsInserted(const QModelIndex &parent, int first, int last); void columnsAboutToBeRemoved(const QModelIndex &parent, int first, int last); void columnsRemoved(const QModelIndex &parent, int first, int last); void modelAboutToBeReset(); void modelReset(); ................................... };