Qt nie pozwala na zarejestrowanie szablonu klasy?QMetaProperty :: read: Nie można obsłużyć niezarejestrowanego typu danych "TreeItem <InspectorItem> * '
Moja klasa hierarchia jest
TreeItemTemplateBackend : public QObject
template<typename T>
TreeItem : public TreeItemTemplateBackend
To właśnie zarejestrowany w QML:
qmlRegisterType<InspectorItem>("ge.gui", 1, 0, "InspectorItem");
qmlRegisterType<TreeItemTemplateBackend>("ge.gui", 1, 0, "TreeItemTemplateBackend");
qmlRegisterType<TreeItem<InspectorItem>>("ge.gui", 1, 0, "TreeItem");
ja wciąż coraz to błąd:
QMetaProperty :: czytać: Nie do obsługi niezarejestrowanego typu danych TreeItem<InspectorItem>*
dla obiektu "Inspektor :: root"
Inspektor :: korzeń jest:
Q_PROPERTY(TreeItem<InspectorItem> * root READ root NOTIFY rootChanged)
Spróbuj zarejestrować typ wskaźnika zamiast typu klasy? – Chris
@Chris: dostałem inne błędy: wpisz "TreeItem *" nie może być użyty przed "::", ponieważ nie ma członków –
Krab
@Chris: nadal nie wiem, czy możliwe jest nawet zarejestrowanie szablonu klasy – Krab