在Qt应用程序中实现多线程的方法:子类化QThread并且重新实现它的run()函数就可以了.
下面举一个例子:
1建一个Qt项目
可以同时选择多个编译器
建一个myThread类派生自QThread类,
完成之后在myThread.h中加入如下代码
class myThread : public QThread
{
public:
myThread();
void stop();
protected:
void run();
private:
volatile bool stopped;
};
在myThread.cpp中输入
myThread::myThread()
{
stopped=false;
}
void myThread::run()
{
while(!stopped)
{
//线程功能语句
}
}
void myThread::stop()
{
stopped=true;
}
当需要使用这个线程时
只需要在mainwindow.cpp中输入
myThread *workthread = new myThread();
线程就创建好了
workthread->start(); //线程启动
workthread->stop(); /线程关闭