这是qt的另一个问题:
我扩展了QAbstractTableModel,但是出现了编译错误(我正在使用cmake)

// file.h
#ifndef TABLEMODEL_H
#define TABLEMODEL_H

#include <QAbstractTableModel>

class TableModel : public QAbstractTableModel
{
Q_OBJECT

public:
TableModel(QObject *parent = 0);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
int columnCount(const QModelIndex &parent = QModelIndex()) const;
};
#endif

// file.c
#include "tableModel.h"

TableModel::TableModel(QObject *parent)
: QAbstractTableModel(parent){}
int TableModel::rowCount(const QModelIndex & ) const
{ return 1; }

int TableModel::columnCount(const QModelIndex & ) const
{ return 1;}


当我编译时,我得到:

在TableModel的函数TableModel':/partd/unusedsvn/unusedpkg/iface/tableModel.cpp:4: undefined reference to vtable中'
/partd/unusedsvn/unusedpkg/iface/tableModel.cpp:4:对vtable for TableModel'collect2: ld returned 1 exit status的未定义引用

有人遇到同样的麻烦吗?

最佳答案

确保您正在通过MOC运行标头,并且正在链接那些MOC对象文件。

关于c++ - QAbstractTableModel继承vtable问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/322147/

10-09 13:41