You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
751 B
C++
33 lines
751 B
C++
#ifndef QTPTHREADBASE_H
|
|
#define QTPTHREADBASE_H
|
|
|
|
#include "baseInclude.h"
|
|
#include <QtCore/QThread>
|
|
|
|
#include <functional>
|
|
typedef std::function<bool(void)> TaskFunc_Bool;
|
|
typedef std::function<void(void)> TaskFunc;
|
|
class lpThread : public QThread
|
|
{
|
|
public:
|
|
lpThread(QObject *parent = nullptr);
|
|
lpThread(TaskFunc_Bool func,QObject *parent = nullptr);
|
|
~lpThread();
|
|
|
|
void StartThread();
|
|
void EndThread();
|
|
void setInitFunc(TaskFunc func) { _initFunc = func; }
|
|
protected:
|
|
virtual bool loop() { msleep(25); return false; }
|
|
private:
|
|
virtual void run();
|
|
private:
|
|
bool m_bRunSignal;
|
|
bool m_bIsRunning;
|
|
private:
|
|
TaskFunc_Bool _func;
|
|
TaskFunc _initFunc;//初始化使用的回调函数
|
|
};
|
|
|
|
#endif // QTPTHREADBASE_H
|