Как я могу построить свой класс без конфликта между QSqlTableModel и Q_OBJECT? - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь создать следующий код, но компилятор говорит:

"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 голосов
/ 02 декабря 2018

Я нашел решение, при использовании Qt Creator:

Build → Run qmake

Build → Rebuild All

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...