QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work. QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Из-за чего может такая ошибка возникать? Где-то есть не закрытое подключение?
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work. QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Из-за чего может такая ошибка возникать? Где-то есть не закрытое подключение?
резюме свое скажите, что было, 2ное соедиение и вызов?
Да, повторное соединение создавалось, а в доке написано «If there already exists a database connection called connectionName, that connection is removed.». Решение простое, так как соедение открывается глобальное, то можно получить его через QSqlDatabase::database() конечный вариант: db = QSqlDatabase::database(); if (!db.isOpen()) { db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(QString("%1/config.db").arg(path)); db.open(); }
вы неправильно вопрос ставите. Вам не разбивать нужно, а переносить бизнес-логику в другие классы. Если вы оставите структуру той же, но тупо разобъёте файл - это только хуже будет
Да, Вы правы (Прошу прошения, что не сразу ответил) Как мне лучше это сделать, если мне необходимо обращаться к графическому интерфейсу?
Да, Вы правы (Прошу прошения, что не сразу ответил) Как мне лучше это сделать, если мне необходимо обращаться к графическому интерфейсу?
для этого и существует механизм сигналы/слоты. Бизнес-логика что-т делает и выдает сигналы, интерфейс на них реагирует. Также БЛ реагирует на сигналы из UI
Это файл, в котором автоматически создаётся класс UI при создании приложения
слушайте, "widget" это просто имя по умолчанию которое вы по какой-то причине не поменяли, не каждый может догадаться о чем речь - не ссылайтесь на это имя в дальнейшем как на что-то общепринятое