I have interface class IHistory
. And i want to implement QAbstractTableModel
.
My code invoke undefined reference to vtable
error, and it's doesn't fix by running qmake
.
(ihistory.h)
class IHistory: public QAbstractTableModel
{
...
// QAbstractItemModel interface
public:
virtual int rowCount(const QModelIndex &parent) const Q_DECL_OVERRIDE ;
virtual int columnCount(const QModelIndex &parent) const Q_DECL_OVERRIDE ;
virtual QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE ;
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const Q_DECL_OVERRIDE ;
...
};
In child class i wrote (history.h):
class History : public IHistory
{
//Q_OBJECT
Q_INTERFACES(IHistory)
public:
History();
~History();
...
// QAbstractItemModel interface
public:
int rowCount(const QModelIndex &parent) const;
int columnCount(const QModelIndex &parent) const;
QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
...
};
Is there a right way, or i should implement QAbstractTableModel
in class History
?