Код подключение БД предоставляю ниже. 
Функция 
 eventsForDate(const QDate &date) стырена из примера в QT (Calendar)
Единственное,что есть в таблице (Grocery shopping) не появляется при запуске программы :(
БД находится в папке самого проекта, вот скриншот:
 main.cpp
main.cpp#include <QtQml>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include "qtquickcontrolsapplication.h"
#include "sqleventmodel.h"
#include "listmodel.h"
int main(int argc, char *argv[])
{
    QtQuickControlsApplication app(argc, argv);
    QQmlApplicationEngine engine;
    qmlRegisterType<SqlEventModel>("project.calendar", 1, 0, "SqlEventModel");
    SqlEventModel database;
    database.createConnection();
    engine.rootContext()->setContextProperty("database", &database);
    engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;
    return app.exec();
}
sqleventmodel.h#ifndef SQLEVENTMODEL_H
#define SQLEVENTMODEL_H
#include <QList>
#include <QObject>
#include <QDebug>
#include <QSqlQuery>
#include <QSqlError>
#include <QSqlDatabase>
#include <QFile>
#include <QDate>
#include "event.h"
#define DATABASE_HOSTNAME   "EventsDB"
#define DATABASE_NAME       "events.db"
#define TABLE                   "Events"              // Название таблицы
#define TABLE_NAME              "name"                // Вторая колонка
#define TABLE_SD                "startDate"           // Третья колонка
#define TABLE_HOUR              "hour"               // Четвертая колонка
#define TABLE_ED                "endDate"
#define TABLE_MIN               "min"
class SqlEventModel : public QObject
{
    Q_OBJECT
public:
    explicit SqlEventModel(QObject *parent = 0);
    ~SqlEventModel();
    void createConnection();  //открытие БД
    Q_INVOKABLE QList<QObject*> eventsForDate(const QDate &date);
private:
    QSqlDatabase db;
    bool createTable();
    void closeDataBase();
};
sqleventmodel.cpp#include "sqleventmodel.h"
#include <QDebug>
#include <QFileInfo>
#include <QSqlError>
#include <QSqlQuery>
SqlEventModel::SqlEventModel(QObject *parent) : QObject(parent)
{
    createConnection();
}
SqlEventModel::~SqlEventModel()
{
}
void SqlEventModel::createConnection()           //открытие БД
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setHostName(DATABASE_HOSTNAME);
    db.setDatabaseName(DATABASE_NAME);
    if (!db.open()) {
        qFatal("Cannot open database");
        return;
    }
    return;
}
void SqlEventModel::closeDataBase()
{
    db.close();
}
QList<QObject*> SqlEventModel::eventsForDate(const QDate &date)
{
    const QString queryStr = QString::fromLatin1("SELECT * FROM " TABLE " WHERE '%1' >= " TABLE_SD " AND '%1' <= " TABLE_ED "").arg(date.toString("yyyy-MM-dd"));
    QSqlQuery query(queryStr);
    QList<QObject*> events;
    while (query.next()) {
        Event *event = new Event(this);
        event->setName(query.value(TABLE_NAME).toString());
        QDateTime startDate;
        startDate.setDate(query.value(TABLE_SD).toDate());
        startDate.setTime(QTime(0, 0).addSecs(query.value(TABLE_HOUR).toInt()));
        event->setStartDate(startDate);
        QDateTime endDate;
        endDate.setDate(query.value(TABLE_ED).toDate());
        endDate.setTime(QTime(0, 0).addSecs(query.value(TABLE_MIN).toInt()));
        event->setEndDate(endDate);
        events.append(event);
    }
    return events;
}
bool SqlEventModel::createTable()
{
        QSqlQuery query;
        if(!query.exec( "CREATE TABLE " TABLE " ("
                                "id INTEGER PRIMARY KEY AUTOINCREMENT, "
                                TABLE_NAME     " VARCHAR(255)    NOT NULL,"
                                TABLE_SD     " VARCHAR(255)    NOT NULL,"
                                TABLE_HOUR       " INTEGER    NOT NULL,"
                                TABLE_ED     " VARCHAR(255)    NOT NULL,"
                                TABLE_MIN       " INTEGER    NOT NULL"
                            " )"
                        )){
            qDebug() << "DataBase: error of create " << TABLE;
            qDebug() << query.lastError().text();
            return false;
        } else {
            return true;
        }
        return false;
}
main.qml
Прикреплен в комментарии ниже