使用QThread寫一個簡單的函數
时间: 2023-07-11 10:29:50 浏览: 93
QT编写的简单计算器
好的,以下是一个简单的使用QThread的例子:
```cpp
#include <QThread>
#include <QDebug>
class MyThread : public QThread {
public:
void run() override {
for (int i = 0; i < 5; i++) {
qDebug() << "Hello from thread " << QThread::currentThread();
sleep(1);
}
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyThread thread;
thread.start();
thread.wait();
qDebug() << "Finished!";
return a.exec();
}
```
在这个例子中,我们定义了一个继承自QThread的类MyThread,并重写了它的run()函数。在run()函数中,我们简单地循环5次,输出一条包含线程信息的调试信息,并使用sleep函数暂停1秒钟。
在主函数中,我们创建了一个MyThread对象,并使用start()函数启动线程。然后,我们使用wait()函数等待线程执行完毕。最后,我们输出一条“Finished!”的调试信息,以表示程序已经结束。
需要注意的是,由于QThread是Qt框架的一部分,因此需要在Qt的事件循环中执行线程逻辑。在这个例子中,我们使用了QCoreApplication来创建Qt的事件循环,并在主函数中调用了a.exec()函数来启动事件循环。
阅读全文