Qt多线程编程

  • 默认的线程在Qt中称为窗口线程,也叫主线程(UI线程),负责窗口事件处理或者窗口控件数据的更新
  • 子线程负责后台的业务逻辑处理,子线程中不能对窗口对象做任何操作,这些事情都要交给窗口线程处理
  • 主线程和子线程之间如果要进行数据的传递,需要使用Qt中的信号槽机制。

操作步骤

1.需要创建一个线程类的子类,让其继承QT中的线程类QThread,比如:

class MyThread : public QThread
{
    ...
}

2.重写父类的run方法,在该函数内部编写子线程要处理的具体的业务流程

class MyThread : public QThread
{
    ...
    protected:
        void run()
        {
            ...
        }
}

3.在主线程中创建子线程对象,new一个就可以了

MyThread * subThread = new MyThread;

4.启动子线程,调用start()方法

subThread->start();

你可能感兴趣的:(Qt多线程编程)