当前位置:   article > 正文

Qml中的WorkerScript_qml workerscript

qml workerscript

 

QML WorkerScript Element

The WorkerScript element enables the use of threads in QML

 

source : url

Signals : onMessage

Methods : sendMessage

 

Detailed Description

Use WorkerScript to run operations in a new thread. This is useful for running operations in the background so that the main GUI thread is not blocked.

Messages can be passed between the new thread and the parent thread using sendMessage() and the onMessage() handler.

 

WorkerScript 用于生成新的线程,并通过消息进行通信。

 

qml文件中声明 WorkerScript { id: worker; source: "dataloader.js" } id和js文件路径。这样qml中就可以通过worker.sendMessage(msg);发送消息(msg是qml中定义的一var变量),js中总是这样定义WorkerScript.onMessage = function(msg)函数,其中msg可以含有worker msg中的多个变量或属性。同样js中也可以通过WorkerScript.sendMessage({src:src,data:jresult});向qml发送消息,其中qml中onMessage负责接收。

 

另外注意:

 

WorkerScript线程内没有全局变量,因此下面这样用法会在msg.model.append(string );造成线程的崩溃

 

var string = "Time:";

 

WorkerScript.onMessage = function(fmUrl) {

    if (msg.action == 'appendCurrentTime') {

        var data = {'time': new Date().toTimeString()};

msg.model.append(string );

        msg.model.append(data);

        msg.model.sync();   // updates the changes to the list

    }

}

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/170700?site
推荐阅读
相关标签
  

闽ICP备14008679号