Qt: 多线程, 就是这么简单(确实非常简洁明了)
Posted 朝闻道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt: 多线程, 就是这么简单(确实非常简洁明了)相关的知识,希望对你有一定的参考价值。
#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)中动态显示数据.
http://www.cppblog.com/biao/archive/2008/03/21/45053.html
以上是关于Qt: 多线程, 就是这么简单(确实非常简洁明了)的主要内容,如果未能解决你的问题,请参考以下文章