Не подключаются плагины qsqlite



  • Не подключаются плагины, если создание базы вынесено в отдельный класс. Если содержимое CDatabase::CDatabase перенести в MainWindow::MainWindow - всё работает. Есть идеи?

    mainwindow.cpp
    @
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "cdatabase.h"

    CDatabase db;

    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);

    }

    MainWindow::~MainWindow()
    {
    delete ui;
    }
    @

    cdatabase.h
    @
    #ifndef CDATABASE_H
    #define CDATABASE_H

    #include <QtSql/QSqlDatabase>
    #include <QtSql/QSqlError>
    #include <QString>

    class CDatabase
    {
    public:
    CDatabase();
    private:
    QSqlDatabase db;
    };

    #endif // CDATABASE_H
    @

    cdatabase.cpp
    @
    #include "cdatabase.h"

    CDatabase::CDatabase()
    {
    QString connection = QString(QSqlDatabase::defaultConnection);
    if (QSqlDatabase::contains(connection)) {
    db = QSqlDatabase::database(connection);
    } else {
    db = QSqlDatabase::addDatabase("QSQLITE", connection);
    db.setDatabaseName("db.sqlite");
    db.open();
    }
    }
    @

    Список файлов:
    platforms\qwindows.dll
    platforms\qminimal.dll
    sqldrivers\qsqlite.dll
    wolqru.exe
    Qt5Core.dll
    libgcc_s_sjlj-1.dll
    libstdc++-6.dll
    libwinpthread-1.dll
    Qt5Widgets.dll
    Qt5Sql.dll
    Qt5Gui.dll
    libGLESv2.dll
    libEGL.dll
    icuin49.dll
    icuuc49.dll
    icudt49.dll
    D3DCompiler_43.dll



  • А в .pro файле Вы добавили в перечень модулей Qt модуль sql?

    Например:

    @QT += core gui sql@



  • Ага, sql добавил. Я думаю, что это баг - выложил на багтрекере 2 примера. Первый не работает, второй - работает. Хотя разница в коде минимальна. https://bugreports.qt-project.org/browse/QTBUG-30538



  • [quote author="korwru" date="1365317733"]Ага, sql добавил. Я думаю, что это баг - выложил на багтрекере 2 примера. Первый не работает, второй - работает. Хотя разница в коде минимальна. https://bugreports.qt-project.org/browse/QTBUG-30538[/quote]

    Перенесите объявление db в конструктор класса MainWindow (как вариант сделайте его членом класса) и все, по идее, должно будет работать.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.