0
我想创建一个类A
的新实例,它继承了从QObject
派生的基类。如果类型位于命名空间中,QMetaObject :: newInstance会失败
如果A
不是在命名空间中能正常工作,但如果A
是在一个命名空间此调用返回一个空指针:
QObject *o = metaObject->newInstance(arg1,arg2,arg3);
的metaObject
本身返回正确的类名(包括命名空间)
std::cout << "Class name from staticMetaObject: " << metaObject->className() << std::endl;
的A
构造标有Q_INVOKABLE
。我如何使用QMetaObject::newInstance
命名空间?
Docs说:“_类通常不是应用程序编程所必需的”。所以可能你不应该在应用程序编程中使用'QMetaObject'。 –
你能粘贴更多与你的课程相关的代码吗? – peppe
@ HiI'mFrogatto那该怎么帮忙?我一直使用'QMetaObject'。你付出了代价,使用它! –