QtQuick.LocalStorage неправильно работает с qmlscene из Qt Designer Studio

Когда я запускаю предварительный просмотр Qmlscene из пробной версии Qt Designer Studio, для стандартного примера проекта (Clock), который использует 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») или создаю его с помощью загрузчика C++ qmlengine, он нормально работает с локальным хранилищем, но когда я пытаюсь выполнить предварительный просмотр с помощью инструмента сцены QML из Qt Design Studio, он показывает ошибку.

Есть у кого-нибудь идеи, как это исправить или использовать локальное хранилище в инструменте QMLscene?


person Leo    schedule 27.10.2018    source источник


Ответы (2)


Проблема является ошибкой и не решена. Я нашел новый способ хранения локальных данных с помощью оболочек записи для Qt.lab.settings, созданных в файле Singleton qml.

person Leo    schedule 29.10.2018

Почему бы просто не создать отчет об ошибке?

person Tim Jenßen    schedule 29.10.2018