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