QT中使用moveToThread让任务在子线程中进行

原理:

1、使用QThread生成一个线程对象

2、任务对象moveToThread

        因为moveToThread是QObject类的函数,所以定义任务对象的类的时候,要让该类继承自QObject函数,继承其moveToThread函数。

3、QThread 生成的线程对象调用run函数,开启线程

4、使用信号和槽,连接任务对象的任务处理函数。注意,第二个函数的主体是任务处理对象

5、如何释放该线程资源,还不清楚。研究中

myWav = new UseWav();                       //处理任务的对象
    QThread *thread = new QThread();            //创建一个线程对象

    myWav->moveToThread(thread);                //将人物对象添加到线程对象中

    thread->start();                            //线程启动

    qDebug() << "The adress of the server" << QThread::currentThread();

    connect(btn,&QPushButton::clicked,myWav,[=](){  //注意这里的信号接受者
        myWav->wavWorking("aplay 0.wav");       //任务处理函数
    });

相关推荐

  1. QT使用moveToThread任务线进行

    2024-03-14 21:16:05       44 阅读
  2. Qt-线2-moveToThread

    2024-03-14 21:16:05       38 阅读
  3. Qt使用线类QThread

    2024-03-14 21:16:05       43 阅读
  4. 【Android 线线更新UI

    2024-03-14 21:16:05       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 21:16:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 21:16:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 21:16:05       87 阅读
  4. Python语言-面向对象

    2024-03-14 21:16:05       96 阅读

热门阅读

  1. springboot单体项目链路日志跟踪及接口耗时

    2024-03-14 21:16:05       41 阅读
  2. express-generator生成nodejs服务基本骨架

    2024-03-14 21:16:05       41 阅读
  3. Python 学习——Python requests 库文档

    2024-03-14 21:16:05       37 阅读
  4. Element ui上传excel到并修改字段名

    2024-03-14 21:16:05       40 阅读
  5. Python中的函数定义与使用

    2024-03-14 21:16:05       41 阅读
  6. 海豚调度系列之:集群部署(Cluster)

    2024-03-14 21:16:05       38 阅读