提交 74cda9a2 编写于 作者: J jp9000

UI: Add CreateQThread helper function

Allows creating a QThread via an std::function.  A backward-compatible
alternative to QThread::create for Qt versions older than 5.10 (when it
became available in Qt).
上级 58f4a639
......@@ -203,3 +203,23 @@ void DeleteLayout(QLayout *layout)
delete layout;
}
class QuickThread : public QThread {
public:
explicit inline QuickThread(std::function<void()> func_)
: func(func_)
{}
private:
virtual void run() override
{
func();
}
std::function<void()> func;
};
QThread *CreateQThread(std::function<void()> func)
{
return new QuickThread(func);
}
......@@ -23,6 +23,7 @@
#include <QThread>
#include <obs.hpp>
#include <functional>
#include <memory>
#include <vector>
......@@ -64,6 +65,8 @@ QDataStream &operator>>(QDataStream &in, OBSScene &scene);
QDataStream &operator<<(QDataStream &out, const OBSSceneItem &si);
QDataStream &operator>>(QDataStream &in, OBSSceneItem &si);
QThread *CreateQThread(std::function<void()> func);
class SignalBlocker {
QWidget *widget;
bool blocked;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册