#ifndef _CTHREAD_H_ #define _CTHREAD_H_ #include #include #include typedef std::function TaskFunc; class CThread : public QThread { Q_OBJECT public: CThread(QObject *parent = 0); ~CThread(); void startProcess(); void setTaskFunc(TaskFunc func) { m_func = func; } void setSleepms(int m_time = 1) { m_sleepms = m_time; } public slots: void stopProcess(); protected: void run(); private: bool m_abort; QMutex mutex; int m_sleepms{ 10 }; TaskFunc m_func; }; #endif // ! _CTHREAD_H_