我如何才能在QSqlTableModel和Q_OBJECT之间没有冲突的情况下构建类?

时间:2018-11-25 12:31:03

标签: c++ qt qml

我正在尝试构建下一个代码,但是编译器说:

  

“ sqltablemodel.h:12:错误:未定义对`vtable的引用   SqlTableModel'“

我知道QSqlTableModel之前已经有Q_OBJECT。

但是删除此宏后,我无法从QML调用函数。

调试器说: ajax不是函数。

如何在不继承和宏之间发生冲突的情况下构建类?

 //sqltablemodel.h
class SqlTableModel : public QSqlTableModel {
       Q_OBJECT
    public:    
       Q_INVOKABLE void ajax(){
           qDebug() << "123";
       }
    }

    //main.cpp
     SqlTableModel *sqlTableModel =  new SqlTableModel();
        context->setContextProperty("sqlTableModel", sqlTableModel);

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,当使用Qt Creator时:

构建→运行qmake

构建→全部重建