【发布时间】:2015-04-26 01:47:25
【问题描述】:
有没有办法将预填充的 sqlite 数据库与 qwebview 一起使用?我有一个使用该数据库的 javascript 应用程序。
我已启用离线存储,
QWebSettings::globalSettings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
为它设置一个舒适的尺寸
QWebSettings::setOfflineStorageDefaultQuota(20*1024*1024);
并设置位置:
QWebSettings::globalSettings()->setOfflineStoragePath(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)+"/data/myapp");
将数据库文件从 qrc 资源文件复制到该位置并不能解决问题;
QFile::copy(":/mydatabase.db" , QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)+"/data/myapp/mydatabase.db");
如何进行?
谢谢。
【问题讨论】:
-
您确定 /data/myapp/ 中不存在 mydatabase.db 吗?因为如果文件存在于目标路径,QFile 不会覆盖文件,并且应该返回 false。尝试打印出 (QStandardPaths::GenericDataLocation)+"/data/myapp/mydatabase.db" 看看你是否在路径中得到双倍的 /data/myapp/。
-
查看更新的答案以获取使用本地文件中的 sql 并将 src 复制到 dest 的示例。