代码拉取完成,页面将自动刷新
#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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。