QtQuick.LocalStorage无法正常使用Qt Designer Studio中的qmlscene



当我从Qt Designer Studio试用版运行Qmlscene预览时,对于使用QtQuick.LocalStorage的标准示例项目(Clock(,它不起作用。显示错误的日志:LocalStorage:无法从LocalStorage.openDatabaseSync(…(函数创建路径C:\Users\leo\AppData\Local\QtProject\QtQmlViewer\QML\OfflineStorage\Databases

探索Qt来源我发现了本地存储插件的来源这部分在哪里

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;

因此,我认为通过qmlscene在qt项目的默认路径上打开/创建数据库文件存在一些问题。我无法更改默认路径,也无法设置offlineStorage(路径(,因为我无法访问C++代码(其.qmlproject(。当我运行项目(不使用菜单项"QML预览"(或用C++qmlengine加载程序构建它时,它在本地存储中正常工作,但当我试图通过Qt Design Studio的QML场景工具预览时,它显示错误。

有人知道如何修复它或在QMLscene工具中使用本地存储的其他方法吗?

问题是bug,尚未决定。我为Singleton qml文件中实例化的Qt.lab.settings编写包装器,找到了存储本地数据的新方法。

为什么不创建一个错误报告?

最新更新