Когда я запускаю предварительный просмотр Qmlscene из пробной версии Qt Designer Studio, для стандартного примера проекта (Часы), который использует QtQuick.LocalStorage, он не работает. Журнал показывает Ошибка: LocalStorage: невозможно создать путь C: \ Users \ leo \ AppData \ Local \ QtProject \ QtQmlViewer \ QML \ OfflineStorage \ Databases из функции LocalStorage.openDatabaseSync (...).
Изучив исходники Qt, я нашел источник плагина localstorage, где была эта часть
QString basename = args->v4engine()->qmlEngine()->offlineStorageDatabaseFilePath(dbname);
QFileInfo dbFile(basename);
if (!QDir().mkpath(dbFile.dir().absolutePath())) {
const QString message = QQmlEngine::tr("LocalStorage: can't create path %1").arg(QDir::toNativeSeparators(dbFile.dir().absolutePath()));
V4THROW_SQL2(SQLEXCEPTION_DATABASE_ERR, message);
}
QString dbid = dbFile.fileName();
bool created = false;
QString version = dbversion;
QSqlDatabase database;
Поэтому я думаю, что есть проблема с открытием / созданием файла базы данных по пути по умолчанию для проектов qt с помощью qmlscene. Я не могу изменить путь по умолчанию и не могу установить offlineStorage (путь), потому что у меня нет доступа к коду C++ (его .qmlproject). Когда я запускаю проект (не используя пункт меню «QML Preview») или создаю его с помощью загрузчика C++ qmlengine, он работает нормально с localstorage, но когда я пытаюсь выполнить предварительный просмотр с помощью инструмента сцены QML из Qt Design Studio, он показывает ошибку.
Есть ли у кого-нибудь идеи, как это исправить или другой способ использовать localstorage в инструменте QMLscene?
Проблема - это ошибка, и она не решена. Я нашел новый способ хранения локальных данных путем записи оберток для Qt.lab.settings, созданных в файле Singleton qml.
Почему бы просто не создать отчет об ошибке?