Я пытаюсь создать следующий код, но компилятор говорит:
"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);