Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite qml本地存储查询线程化_Sqlite_Qt_Qml - Fatal编程技术网

Sqlite qml本地存储查询线程化

Sqlite qml本地存储查询线程化,sqlite,qt,qml,Sqlite,Qt,Qml,是否可以在spererate线程中运行qml中的localstorage数据库查询? 我对一个大数据库的查询需要500毫秒,这会阻塞用户界面的响应 我的相关代码: property var db: null function openDB() { if(db !== null) return; db = LocalStorage.openDatabaseSync("dbname", "0.1", "dbname", 3000000000); } function runQu

是否可以在spererate线程中运行qml中的localstorage数据库查询? 我对一个大数据库的查询需要500毫秒,这会阻塞用户界面的响应

我的相关代码:

property var db: null
function openDB() {

    if(db !== null) return;

    db = LocalStorage.openDatabaseSync("dbname", "0.1", "dbname", 3000000000);
}

function runQuery(query)
{
    var results
    db.readTransaction(function(tx) {
        results = tx.executeSql(query)
    });
    return results;
}
我希望在不阻塞ui的情况下每秒运行一次查询。 e、 g

稍后,我将在结果上循环,以图形的形式显示它们。 我查看了
WorkerScript
,但是对于WorkerScript,我必须使用js文件,而不能使用LocalStorage.openDatabaseSync


如何在不阻塞UI的情况下在qml中运行查询?

我会将查询放在@folibis中,正如我在问题中所述,我尝试过,但是如何在js脚本中使用LocalStorage.openDatabaseSync?好的,看来
LocalStorage
WorkerScript
中无法访问,抱歉。运行某些任务而不阻塞GUI的唯一方法是在单独的线程中运行该任务。“代码>工作脚本< /Cord>是无效的,因此在这种情况下,我猜这个解决方案可能是创建自定义C++项目,它访问SQLite DB并提供一些功能给QML。C++似乎确实是答案,也可以看到:
var osresult = runQuery('SELECT * FROM os_data')