#ifndef QSQLMYQUERYMODEL_H#define QSQLMYQUERYMODEL_H#include <QtSql/QSqlQueryModel>#include <QtSql/QSqlDatabase>#include <QObject>class QSqlMyQueryModelPrivate;class QSqlMyQueryModel : public QSqlQueryModel{ Q_OBJECT Q_DECLARE_PRIVATE(QSqlMyQueryModel)public: explicit QSqlMyQueryModel(QObject *parent = 0, QSqlDatabase db = QSqlDatabase()); virtual ~QSqlMyQueryModel();protected: QSqlMyQueryModel(QSqlMyQueryModelPrivate &dd, QObject *parent = 0, QSqlDatabase db = QSqlDatabase());};#endif // QSQLMYQUERYMODEL_H
#include "qsqlmyquerymodel.h"#include "qsqlmyquerymodel_p.h"QSqlMyQueryModel::QSqlMyQueryModel(QObject *parent, QSqlDatabase db) : QSqlQueryModel(*new QSqlMyQueryModelPrivate, parent){ Q_D(QSqlMyQueryModel); d->db = db.isValid() ? db : QSqlDatabase::database();}QSqlMyQueryModel::QSqlMyQueryModel(QSqlMyQueryModelPrivate &dd, QObject *parent, QSqlDatabase db) : QSqlQueryModel(dd, parent){ Q_D(QSqlMyQueryModel); d->db = db.isValid() ? db : QSqlDatabase::database();}void QSqlMyQueryModelPrivate::clear(){}
#ifndef QSQLMYQUERYMODEL_P_H#define QSQLMYQUERYMODEL_P_H#include <QtCore/QMap>#include <QtSql/private/qsqlquerymodel_p.h>class QSqlMyQueryModelPrivate : public QSqlQueryModelPrivate{ Q_DECLARE_PUBLIC(QSqlMyQueryModel)public: QSqlMyQueryModelPrivate(){}; QSqlDatabase db; void clear();};#endif // QSQLMYQUERYMODEL_P_H
debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN21QSqlQueryModelPrivateC2Ev[QSqlQueryModelPrivate::QSqlQueryModelPrivate()]+0x18): undefined reference to `vtable for QSqlQueryModelPrivate' debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN23QSqlMyQueryModelPrivateC1Ev[QSqlMyQueryModelPrivate::QSqlMyQueryModelPrivate()]+0x3b): undefined reference to `QSqlQueryModelPrivate::~QSqlQueryModelPrivate()' debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN23QSqlMyQueryModelPrivateD1Ev[QSqlMyQueryModelPrivate::~QSqlMyQueryModelPrivate()]+0x2a): undefined reference to `QSqlQueryModelPrivate::~QSqlQueryModelPrivate()' debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN23QSqlMyQueryModelPrivateD1Ev[QSqlMyQueryModelPrivate::~QSqlMyQueryModelPrivate()]+0x44): undefined reference to `QSqlQueryModelPrivate::~QSqlQueryModelPrivate()' debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN23QSqlMyQueryModelPrivateD0Ev[QSqlMyQueryModelPrivate::~QSqlMyQueryModelPrivate()]+0x2a): undefined reference to `QSqlQueryModelPrivate::~QSqlQueryModelPrivate()' debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN23QSqlMyQueryModelPrivateD0Ev[QSqlMyQueryModelPrivate::~QSqlMyQueryModelPrivate()]+0x44): undefined reference to `QSqlQueryModelPrivate::~QSqlQueryModelPrivate()' debug/moc_qsqlmyquerymodel.o:moc_qsqlmyquerymodel.cpp:(.rdata$_ZTV16QSqlMyQueryModel[vtable for QSqlMyQueryModel]+0x14): undefined reference to `QSqlMyQueryModel::~QSqlMyQueryModel()' debug/moc_qsqlmyquerymodel.o:moc_qsqlmyquerymodel.cpp:(.rdata$_ZTV16QSqlMyQueryModel[vtable for QSqlMyQueryModel]+0x18): undefined reference to `QSqlMyQueryModel::~QSqlMyQueryModel()' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\Test.exe] Error 1 mingw32-make: *** [debug] Error 2