Qt的元對象系統允許進行很多有趣的反思。但我的問題如下:假設我編碼了class MyClass : public QObject
。我想在我的GUI中有一個按鈕來創建MyClass
的實例。但我決定創建MySubClass : public MyClass
,然後創建另一個按鈕來創建MySubClass
的實例。Qt:如何獲得特定類的兒童的所有類
現在,一位同事也創建了自己的子類。有沒有辦法自動找出所有擴展MyClass
的類(並自動添加相關按鈕)?
我可以看到一些解決方法一樣具有MetaObject
陣列,使得我可以叫他們每個人的QMetaObject::newInstance()
,但它需要我手動添加子,每次一個新sublass被添加到代碼庫。
有沒有一種自動的方式來做到這一點?如果需要,我可以將自己限制在實現特定Q_INTERFACE
的類中,如果它有任何區別的話。
我問這個問題,因爲我知道我可以在Java中做到這一點 – Fezvez