1 Star 2 Fork 0

撬动未来的支点/TaskThread

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ZMultiThreadTask.h 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef ZMULTITHREADTASK_H
#define ZMULTITHREADTASK_H
/*******************************************************************************
** 多线程任务类,基类
**
*******************************************************************************/
#include <QObject>
#include <QSharedPointer>
#include <QRunnable>
class ZMultiThreadTask : public QObject, public QRunnable
{
Q_OBJECT
public:
explicit ZMultiThreadTask(QObject *parent = 0);
virtual ~ZMultiThreadTask();
// 任务类型
virtual int type() = 0;
// 任务名称(可选)
virtual QString taskName();
// 获取任务信息内容(可选)
virtual QString toString();
// 停止当前执行,用于快速退出
virtual void stopCurrent() = 0;
// 执行任务函数,子类必须实现
virtual void doTask() = 0;
// 获取错误码
virtual int getLastError();
// 获取错误信息
virtual QString getLastErrorString();
signals:
// 执行进度,可由子类发出
void sigProgress(int);
/**
* @brief sigProgressStart
* 开始执行信号,私有信号
*/
void sigProgressStart(QPrivateSignal);
/**
* @brief sigProgressFinsihed
* 结束执行,私有信号
*/
void sigProgressFinished(QPrivateSignal);
private:
// 执行核心函数
virtual void run();
// 私有化此函数
void setAutoDelete(bool auto_delete);
};
#endif // ZMULTITHREADTASK_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/pivotfuture/TaskThread.git
git@gitee.com:pivotfuture/TaskThread.git
pivotfuture
TaskThread
TaskThread
master

搜索帮助