Qt 多线程
来源:互联网 发布:网络教育自我鉴定200字 编辑:程序博客网 时间:2024/06/07 14:42
qt中多线程使用示例:
.h文件:#ifndef CTHREAD_H#define CTHREAD_H#include <QThread>#include <QImage>class CThread : public QThread{ Q_OBJECTpublic: CThread(); void setMessage(QString message); void stop(); void SetImage(const QImage& img); QImage& GetShowImage();protected: void run(); void printMessage(); void CreateShowImage();private: QString messageStr; QImage m_image; QImage m_showImage; volatile bool stopped;};#endif // CTHREAD_H
.cpp文件:
#include "CThread.h"#include <QDebug>#include <QPainter>CThread::CThread(){ stopped = false;}void CThread::run(){ while(!stopped) { CreateShowImage(); } stopped = false;}void CThread::stop(){ stopped = true;}void CThread::setMessage(QString message){ messageStr = message;}void CThread::printMessage(){ qDebug()<<messageStr; sleep(1);}QImage& CThread::GetShowImage(){ return m_showImage;}void CThread::SetImage( const QImage& img ){ m_image = img;}void CThread::CreateShowImage(){ int nWidth = m_image.width(); int nHeight = m_image.height(); if (nWidth <=0||nHeight<=0) { //stopped = true; return; } m_showImage = QImage(3*nWidth,3*nHeight,QImage::Format_ARGB32); QPainter painter(&m_showImage); QPixmap pixmap; pixmap.convertFromImage(m_image); for (int i=0;i<3;++i) { painter.drawPixmap(0+i*nWidth,0,pixmap); painter.drawPixmap(0+i*nWidth,nHeight,pixmap); painter.drawPixmap(0+i*nWidth,2*nHeight,pixmap); } //stopped = true;}
0 0
- Qt多线程
- Qt多线程
- Qt多线程
- qt 多线程
- Qt多线程
- QT多线程
- QT多线程
- QT多线程
- Qt多线程
- qt 多线程
- Qt多线程
- QT 多线程
- qt 多线程
- qt多线程
- Qt 多线程
- Qt多线程
- Qt 多线程
- Qt多线程 .
- 改善Java程序的151个建议--记录(持续更新)
- 哈夫曼编码C程序及演示结果
- Field "state" doesn't have a default value
- Spring获取资源文件
- 获得字符串的宽度
- Qt 多线程
- xcode升级到6.4之后插件无法使用,无法使用的解决办法
- iOS 9 适配系列教程
- 详解IBM Bluemix端到端开发体验
- 常用的一些性能/自动化工具(lr,jmeter,QTP,)
- Java for Web学习笔记(八):Servlet(6)doGet()和doPost()是线程还是队列
- PyCharm 3的PEP8代码风格警告提示信息
- android:process=":remote"
- cocos2d-x学习笔记(2)在同一个工程里创建多个Cocos2d-x项目