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++

#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