Qt的元对象系统允许进行很多有趣的反思。但我的问题如下:假设我编码了class MyClass : public QObject
。我想在我的GUI中有一个按钮来创建MyClass
的实例。但我决定创建MySubClass : public MyClass
,然后创建另一个按钮来创建MySubClass
的实例。Qt:如何获得特定类的儿童的所有类
现在,一位同事也创建了自己的子类。有没有办法自动找出所有扩展MyClass
的类(并自动添加相关按钮)?
我可以看到一些解决方法一样具有MetaObject
阵列,使得我可以叫他们每个人的QMetaObject::newInstance()
,但它需要我手动添加子,每次一个新sublass被添加到代码库。
有没有一种自动的方式来做到这一点?如果需要,我可以将自己限制在实现特定Q_INTERFACE
的类中,如果它有任何区别的话。
我问这个问题,因为我知道我可以在Java中做到这一点 – Fezvez