QThread使用的例子,用C++实现
时间: 2024-05-11 16:14:10 浏览: 94
以下是一个使用QThread的简单示例,用C++实现:
```c++
#include <QThread>
#include <QDebug>
class MyThread : public QThread
{
public:
void run()
{
qDebug() << "MyThread running...";
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyThread thread;
thread.start();
return a.exec();
}
```
在这个例子中,我们创建了一个名为MyThread的自定义线程类,它继承自QThread。我们重写了run()函数,这是线程的入口点。在这个函数中,我们调用qDebug()输出一条信息,表示线程正在运行。
在main()函数中,我们创建了一个MyThread对象,并调用start()函数来启动线程。最后,我们调用QCoreApplication的exec()函数来启动应用程序的事件循环,以便我们的线程可以运行。
请注意,我们并没有在MyThread类中添加任何成员变量或成员函数来实现线程的功能。相反,我们使用QThread的run()函数来实现线程的逻辑。这是因为QThread的run()函数会在一个单独的线程中运行,而不是在主线程中运行。这使得我们可以在run()函数中执行长时间运行的操作,而不会阻塞主线程。
在实际应用中,我们可能需要更复杂的线程逻辑,例如与其他线程通信或使用信号和槽来实现线程间通信。但是,这个简单的例子展示了如何使用QThread来启动一个新线程。
阅读全文