89.qt qml-WorkerScript多线程使用(无需C++代码)

由于我们自定义Table中需要实现排序,如下图所示:

89.qt qml-WorkerScript多线程使用(无需C++代码)_第1张图片
考虑到如果数据量太大的情况,为了避免主线程阻塞,所以我们添加多线程排序功能,为了方便大家更好学习qml组件,所以学习WorkerScript实现多线程,无需C++
 

1.描述

使用 WorkerScript 在新线程中运行操作。这对于在后台运行操作很有用,这样主 GUI 线程就不会被阻塞。
消息可以在新线程和父线程之间传递,使用sendMessage() 和onMessage()处理程序。

属性如下所示:

  • ready : bool, 只读属性,表示source已加载完成,可以接收到WorkerScript.sendMessage()
  • source : url, 设置实现线程操作处理程序的 JavaScript 文件的 url, 里面要实现message信号处理函数,也就是WorkerScript.onMessage()

信号如下所示:

  • message(jsobject msg) : 当有消息时发出此信号, 然后就可以通过信号接受处理函数进行处理msg参数

方法如下所示:

  • sendMessage(jsobject message) : 用来向另一个线程发送要处理的message数据,然后就会触发另一个线程的message信号,该message对象只能包含以下类型的值:

你可能感兴趣的:(Qt,Quick/QML入门到精通,qt,c++,开发语言,qml多线程)