Зачем использовать QMetaObject :: invokeMethod при выполнении метода из потока
У меня есть следующий код:
class A : public QObject
{
Q_OBJECT
public:
A() : QObject()
{
moveToThread(&t);
t.start();
}
~A()
{
t.quit();
t.wait();
}
void doSomething()
{
QMetaObject::invokeMethod(this,"doSomethingSlot");
}
public slots:
void doSomethingSlot()
{
//do something
emit ready();
}
signals:
void ready();
private:
QThread t;
}
Вопрос почему изdoSomething
это должен быть звонок черезQMetaObject::invokeMethod
, Я знаю, что есть что-то с типом подключения.Может кто-нибудь объяснить, что под капотом?