Pass db instance to models. Pass models to QML.
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
#include "sqlservicerecord.h"
|
||||
#include <QSqlRecord>
|
||||
|
||||
SqlServiceRecord::SqlServiceRecord(QObject* parent)
|
||||
SqlServiceRecord::SqlServiceRecord(QObject* parent, QSqlDatabase db) : QSqlTableModel(parent, db)
|
||||
{
|
||||
setTable("records");
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class SqlServiceRecord : public QSqlTableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit SqlServiceRecord(QObject *parent);
|
||||
explicit SqlServiceRecord(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase());
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "sqlvehicle.h"
|
||||
#include <QSqlRecord>
|
||||
|
||||
SqlVehicle::SqlVehicle(QObject* parent)
|
||||
SqlVehicle::SqlVehicle(QObject* parent, QSqlDatabase db) : QSqlTableModel(parent, db)
|
||||
{
|
||||
setTable("vehicles");
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class SqlVehicle : public QSqlTableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit SqlVehicle(QObject *parent);
|
||||
explicit SqlVehicle(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase());
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
#include <QDebug>
|
||||
#include <QSqlQuery>
|
||||
#include <QQmlContext>
|
||||
#include "db/sqlvehicle.h"
|
||||
#include "db/sqlservicerecord.h"
|
||||
|
||||
Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
{
|
||||
@@ -67,8 +69,13 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
return -2;
|
||||
}
|
||||
|
||||
SqlVehicle vehicles(nullptr, db);
|
||||
SqlServiceRecord records(nullptr, db);
|
||||
|
||||
QQmlApplicationEngine engine;
|
||||
engine.rootContext()->setContextProperty(QStringLiteral("appAboutData"), QVariant::fromValue(aboutData));
|
||||
engine.rootContext()->setContextProperty(QStringLiteral("vehicleModel"), &vehicles);
|
||||
engine.rootContext()->setContextProperty(QStringLiteral("recordModel"), &records);
|
||||
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
|
||||
|
||||
if (engine.rootObjects().isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user