Здравствуйте, друзья.
Пытаюсь написать аналог функции QCoreApplication::instance но для QObject. То есть хочу получить ссылку на экземпляр класса.
//MyApplication.h
class MyApplication : public QObject
{
Q_OBJECT
public:
MyApplication(QObject *parent = 0);
~MyApplication();
static MyApplication *instance();
// ...
};
//MyApplication.cpp
MyApplication::MyApplication(QObject *parent)
: QObject(parent)
{
// ...
this->setObjectName("MyApplication");
// ...
}
MyApplication *MyApplication::instance()
{
QObject *obj = QCoreApplication::instance()->findChild<QObject*>("MyApplication");
return (static_cast<MyApplication *>(obj));
}
Но объект почему-то не находится, возвращается ссылка на NULL, хотя название объекта указываю явно.
В чём может быть причина?