#ifndef ASYNCEXEC_H #define ASYNCEXEC_H #include "qcoreapplication.h" #include <QRunnable> #include <QThreadPool> #include <functional> #define async_exec(a) \ QThreadPool::globalInstance()->start(new LambdaRunnable(a)); class LambdaRunnable : public QRunnable { public: LambdaRunnable(std::function<void()> action) { this->action = action; } void run() { this->action(); } private: std::function<void()> action; }; #endif // ASYNCEXEC_H