您的位置:首页 > 编程语言 > Qt开发

Qt: 多线程 就是这么简单

2013-03-23 10:28 495 查看
#include <iostream>


#include <QApplication>


#include <QThread>


#include <QString>




class Thread : public QThread {


public:


Thread(QString name = "") {


stopped = false;


this->name = name;


}





void run() {


while (!stopped) {


std::cout << "In " << name.toStdString() << "'s run()." << std::endl;


QThread::msleep(400);


}


}





void stop() {


stopped = true;


}





private:


volatile bool stopped;


QString name;


};




int main(int argc, char *argv[]) {


QApplication app(argc, argv);





Thread thread;


thread.start();


Thread thread1("Thread1");


thread1.start();


Thread thread2("Thread2");


thread2.start();





return app.exec();


}



在Widget中, 还可以使用如在继承自QObject 的 void showEvent(QShowEVent *event)中使用myTimerId = startTimer();

在void hideEvent(QHideEVent *event)中使用killTimer(myTimerId);

在void timerEvent(QTimerEvent *event)中更新数据

在void paintEvent(QPaintEvent *event)中动态显示数据.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: