QThread 的使用方法有如下两种:
- QObject::moveToThread()
- 继承 QThread 类
下面通过具体的方法描述和例子来介绍第一种方法
QObject::moveToThread() 方法
方法描述
-
定义一个继承于 QObject 的 worker 类,在 worker 类中定义一个槽函数 doWork(),这个函数中定义线程需要做的工作。\
-
在要使用线程的 controller 类中,新建一个 QThread 的对象和 woker 类对象,使用 moveToThread() 方法将 worker 对象的事件循环全部交由 QThread 对象处理。\
-
建立相关的信号函数和槽函数进行连接,然后发出信号触发 QThread 的槽函数,使其执行工作。