`
mmdev
  • 浏览: 12957236 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Qt多线程编程实例

 
阅读更多

#include<iostream>
#include
<QApplication>
#include
<QThread>
#include
<QString>

classThread:publicQThread{
public:
Thread(QStringname
=""){
stopped
=false;
this->name=name;
}


voidrun(){
while(!stopped){
std::cout
<<"In"<<name.toStdString()<<"'srun()."<<std::endl;
QThread::msleep(
400);
}

}


voidstop(){
stopped
=true;
}


private:
volatileboolstopped;
QStringname;
}
;

intmain(intargc,char*argv[]){
QApplicationapp(argc,argv);

Threadthread;
thread.start();
Threadthread1(
"Thread1");
thread1.start();
Threadthread2(
"Thread2");
thread2.start();

returnapp.exec();
}


在Widget中, 还可以使用如在继承自QObject 的 void showEvent(QShowEVent *event)中使用myTimerId = startTimer();
在void hideEvent(QHideEVent *event)中使用killTimer(myTimerId);
在void timerEvent(QTimerEvent *event)中更新数据
在void paintEvent(QPaintEvent *event)中动态显示数据
#include<iostream>
#include
<QApplication>
#include
<QThread>
#include
<QString>

classThread:publicQThread{
public:
Thread(QStringname
=""){
stopped
=false;
this->name=name;
}


voidrun(){
while(!stopped){
std::cout
<<"In"<<name.toStdString()<<"'srun()."<<std::endl;
QThread::msleep(
400);
}

}


voidstop(){
stopped
=true;
}


private:
volatileboolstopped;
QStringname;
}
;

intmain(intargc,char*argv[]){
QApplicationapp(argc,argv);

Threadthread;
thread.start();
Threadthread1(
"Thread1");
thread1.start();
Threadthread2(
"Thread2");
thread2.start();

returnapp.exec();
}


在Widget中, 还可以使用如在继承自QObject 的 void showEvent(QShowEVent *event)中使用myTimerId = startTimer();
在void hideEvent(QHideEVent *event)中使用killTimer(myTimerId);
在void timerEvent(QTimerEvent *event)中更新数据
在void paintEvent(QPaintEvent *event)中动态显示数据.
分享到:
评论

相关推荐

    Qt多线程编程实例_QThread详解

    Qt多线程编程实例,QThread用法详解,基于主线程发送创建随机数个数,子线程进行创建和其他子线程进行冒泡排序、快速排序等,再将排序结果回传给主线程进行显示结果和进度显示。资源含源码,版本5.9.5以上可直接运行...

    Qt多线程编程实例_QThread用法详解

    Qt多线程编程实例,QThread用法详解,基于主线程发送创建随机数个数,子线程进行创建和其他子线程进行冒泡排序、快速排序等,再将排序结果回传给主线程进行显示结果和进度显示。

    Qt多线程编程实例,资源包含了4种多线程编程的简单实例

    资源是为了完善之前一篇文章介绍的多线程编程,资源包含了4种多线程编程的简单实例, 实例非常简单易懂,适合初学者或者中级开发人员参考,如有不理解之处欢迎私信,我们项目探讨共同学习,简单说明下资源实例: 1....

    Qt多线程的一个简单例子

    用QT实现的一个简单多线程例子,可以作为简单的参考历程

    QT的多线程编程示例

    QT多线程编程示例,非常简单明朗的示例程序。

    02_ThreadPro_QT多线程_QT实例_QT_QT多线程_线程_

    QT中线程编程例子 QT中多线程等一些编程实例 可以加深对编程的实例

    qt 多线程 网络编程

    采用多线程,主线程接受客服端请求,子线程向客户端发送报文信息

    Qt 多线程.rar

    因为项目中要实现多线程的并发处理,所以先从简单实例中来理解多线程技术,本文档是用Qt5 中的多线程来处理定时打印的功能。然后利用信号槽机制将线程中处理的数据传递到主窗口中显示,初学者可借鉴。

    qt4 线程同步的小例子

    一个QT下多线程编程的实例,很不错哦。对于初入线程编程的初学者是个不错的DEMO.

    精通qt4编程(源代码)

    \ 第10章 多线程 李立夏介绍了Qt的多线程处理,包括两方面内容:传统的线程操作,以及与Qt事件机制相关的操作。这一章还涉及较多的基本概念,并逐一做了介绍。 261 \ 第11章 事件机制 李立夏介绍了Qt的事件处理模型...

    精通Qt4编程(第二版)源代码

    \10.4.4 多线程网络示例 279 \10.5 小结 282 \第11章 事件处理 283 \11.1 事件机制 283 \11.1.1 事件来源与类型 283 \11.1.2 事件处理方法 284 \11.2 事件处理器 285 \11.3 事件过滤器 290 \11.4 加快用户...

    浅谈PyQt5中异步刷新UI和Python多线程总结

    目前任务需要做一个界面程序,PyQt是非常方便的选择,QT丰富的控件以及python方便的编程。近期遇到界面中执行一些后台任务时界面卡死的情况,解决了在这里记录下。 PyQt PyQt简介 PyQt是Qt的python接口,PyQt的文档...

    PyQt5中多线程模块QThread和线程池ThreadPoolExecutor解决PyQt5界面程序执行比较耗时操作无响应问题

    1.资源简介:PyQt5中使用多线程模块QThread解决了PyQt5界面程序执行比较耗时操作时,程序卡顿出现的无响应以及界面输出无法实时显示的问题,采用线程池ThreadPoolExecutor解决了ping多个IP多任务耗时问题。...

    Qt学习资料,提供了各个章节的ppt、代码

    Qt 5事件处理及实例 第12章 Qt 5多线程 第13章 Qt 5数据库 第14章 Qt 5多国语言国际化 第15章 Qt 5单元测试框架 第19章 QML编程基础 第20章 QML动画特效 第21章 Qt Quick Controls开发基础 第22章 Qt Quick Controls...

    Qt Quick实例之美图秀秀

    使用 Qt Quick 实现的图像处理实例,支持黑白、锐化、底片、柔化、灰度、浮雕等特效。展示 Qt 中 QML 与 C++ 混合编程技术、多线程、自定义事件等关键技术。

    Qt5.9C++开发指南 源码 资源.zip

    包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等,介绍了常用界面组件、文件读写、绘图、图表、数据可视化、数据库...

    C++毕业设计:基于Qt的多线程局域网聊天系统(含客户端+服务端).zip

    Qt本身并不是一种编程语言,它本质上是一个跨平台的C++开发类库,是用标准C++编写的类库,它为开发GUI应用程序和非GUI应用程序提供了各种类。 Qt对标准C++进行了扩展,引入了一些新概念和功能,例如信号和槽、对象...

    王维波《Qt5.9 C++开发指南》(配套资源)

    王维波《Qt5.9 C++开发指南》随书配套资源。该书以Qt 5.9 LTS版本为开发平台,详细介绍了包括Qt应用程序的基本架构、信号与槽工作机制、 ...每个编程主题都精心设计了完整的实例程序,适用于Qt支持的任何平台。

Global site tag (gtag.js) - Google Analytics